【java基础】文件属性、创建、读、写

File类

只用来处理文件属性,没有读写的操作

File类文件的常用属性和方法

属性描述
CanWrite()返回文件是否可写
CanRead()返回文件是否可读
IsDirectory()判断该路径指示的是否是文件夹
IsFile()判断该路径指示的是否是文件
LastModified()返回文件的最后修改时间标志
Mkdirs()生成指定的目录,如果当前路径中包含的父目录不存在时,也会自动根据需要创建
SetReadOnly()将文件设置为可读
createNewFile()创建指定的文件,不能用于创建文件夹,且文件路径中包含的文件夹必须存在
delete()删除当前文件或文件夹
exists()判断文件夹或文件是否存在
getAbsolutePath()获得当前文件或文件夹的绝对路径
getName()获得当前文件或文件夹的名称
getParent()获得当前路径中的父路径
list()返回当前文件夹下所有的文件名和文件夹名称
RenameTo(File dest)更名文件

创建文件

由于File类的createNewFile()方法有throws IOException,所以要加上try语句处理异常

try {
File f=new File("D:\\test.txt");
f.createNewFile();
}catch (Exception e){
            System.out.println("程序遇到异常:"+e.toString());
        }
}

commons-io .FileReader类

读文件

//File.separator代表的是任意的\或/,
try {
            int ch;
            FileReader f=new FileReader("d:"+File.separator+"test.txt");
            while ((ch=f.read())!= -1){  //逐个读取文件中的内容,如果为-1则表示没有内容了,.read()的返回值是一个整数对应ASCII与Unicode字符表,需要转换成char格式,才是显示文件中的内容。
                System.out.print((char) ch);
                f.close();//关闭文件
            }

        }catch (Exception e){
            System.out.println("程序遇到异常:"+e.toString());
        }

commons-io .FileWriter类

写文件

FileWriter f=new FileWriter("d:"+File.separator+"test.txt",true);//加上true,每次运行程序,文件中的内容是追加写入。
FileWriter f=new FileWriter("d:"+File.separator+"test.html");//不加true,每次运行程序,文件中的内容是覆盖写入。
f.write("***\r\n");
f.write("testwrite\r\n");
f.write("***\r\n");
f.close();//关闭文件

commons-io .FileUtils类常用

try {
            FileUtils.touch(new File("d:\\test1.txt"));//创建文件
            FileUtils.copyFile(new File("d:\\test1.txt"),new File("d:\\test2.txt"));//在本级目录复制文件
            FileUtils.copyFileToDirectory(new File("d:\\test1.txt"),new File("d:\\logs\\copy"));//复制文件到新目录

            FileUtils.moveFileToDirectory(new File("d:\\test1.txt"),new File("d:\\logs\\move"),true);//移动文件到新目录
            FileUtils.write(new File("d://test2.txt"),"测试","utf-8", Boolean.parseBoolean("true"));//写文件
            FileUtils.deleteQuietly(new File("d:\\test1.txt"));//删除文件

//遍历文件和子文件夹,{}中填写遍历文件的类型
		Collection<File> listFiles=FileUtils.listFiles(new File("d:\\log"),new String[]{"txt","java"},true);
		for(File file :listFiles){ 
			System.out.println(file.getAbsolutePath());//打印文件所在路径
			}
        }catch (Exception e){
            System.out.println("程序遇到异常:"+e.toString());
        }
//读取文本,返回字符串。
        //FileUtils.readFileToString()指定文件进行读取返回字符串。
        String s = FileUtils.readFileToString(new File("D:\\test1.txt"));
        System.out.println(s);

commons-io .FilenameUtils类常用

//判断文件名的后缀。
        //isExtension(String fileName,String ext):判断fileName是否是ext后缀名;
        boolean b = FilenameUtils.isExtension("ja.txt","rar");
        System.out.println(b);
//getname 获取文件名。
        String name = FilenameUtils.getName("D:\\ja.txt");
        System.out.println(name);
//FilenameUtils方法 获得拓展名,
        //需要加上后缀名,才能获得后缀名。
        //getExtension 获取文件名后缀。
        String n = FilenameUtils.getExtension("d:\\ll.txt");
        System.out.println(n);

ini文件的创建、读、写常用

//创建文件
private String fileName = null;
HierarchicalINIConfiguration ini =null;

public void createLog(String p_fileName) {
		// TODO Auto-generated method stub
		this.fileName = p_fileName;
		File file = new File(this.fileName);
		if (!file.exists()) //如果文件不存在
		{
			try {
				file.createNewFile(); //创建文件
				
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		try {
			ini = new HierarchicalINIConfiguration(this.fileName);
			ini.load(new File(this.fileName));		
		} catch (ConfigurationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		 	
	}
//写文件
public  void write(String section, String key, String value) 
	{  
		ini.setProperty(section+"."+key, value);
	}
//读文件	 
public String read(String section, String key)
	 {	
	  	 return ini.getString(section+"."+key);
	 }
//关闭文件 
public void closeLog() {
		// TODO Auto-generated method stub
		try {
			ini.save();
		} catch (ConfigurationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		this.fileName=null;
		this.ini=null;	
}
public static void main(String[] args) {
		// TODO Auto-generated method stub
		IniFile ini=new IniFile();
		ini.createLog("d://config2.ini");
		ini.write("URL", "url","www.163.com");
		System.out.println(ini.read("URL", "url"));
		ini.closeLog();
	}

properties文件的创建、读、写常用

      File file;
	  String filePath=null;
	  PropertiesConfiguration config = new PropertiesConfiguration();
//创建文件	  
	  public void createLog(String p_filePath){
		  this.filePath=p_filePath;
		  file = new File(this.filePath);
			if (!file.exists())
			{
				try {
					file.createNewFile(); //创建文件的意思
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			} 			
			try {
				config.load(new File(this.filePath)); //导入需要的properties文件
			} catch (ConfigurationException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	  }
//读文件	  
	  public String read(String p_key){   
		   // String value=config.getProperty(p_key).toString();//因为config.getProperty(p_key) 的返回值是Object类型,而方法的放回值是String,所以通过toString()把object类型转变成String类型
		    Object value=config.getProperty(p_key);
		  	return value.toString();
  }
  //写文件
	  public void write (String p_key, String p_value)  { 
		  	config.setProperty(p_key, p_value);  
//	  try {
//		    config.save(new File(this.filePath));
//	       } catch (ConfigurationException e) {
//		// TODO Auto-generated catch block
//		         e.printStackTrace();
//	        }
	  }

public static void main(String[] args) {
		PropertiesFile pf= new PropertiesFile();
		pf.createLog("d://config2.properties");
		pf.write("url", "www.163.com");
		pf.write("user", "kevin");
		System.out.println(pf.read("url"));
		System.out.println(pf.read("user"));
		pf.closeLog();
	}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值