Java 数据流之File类

一,文件类File类

  1. File类构造方法
  • 第一种:File(String path) ,path指明新创建File对象对应的文件或目录的路径,如:
 File f1=new File("C:/myProgram/Java");  //绝对路径下新建文件,指定目录
 File f2=new File(/myProgram/Java");  //相对路径下新建文件,当前目录下的子目录myProgram
  • 第二种:File(String path, String name) , path指定文件或目录路径,name指定文件或目录名
File f1=new File("/docs", "file.dat");  //相对路径为\docs,文件名为file.dat
  • 第三种:File(String dir, String name) , dir指定已有的File对象的路径,name指定该文件名或目录名
String sdir="myProgram"+System.dirSep+"Java"; 
  String sfile="FileIO.data";
 File Fdir=new File(sdir);
File Ffile=new File(Fdir, sfile);
  1. 创建与删除文件方法
  • 创建文件:public boolean createNewFile(),创建一个新的空文件,其文件名命名为对应的抽象目录名;
  • 重命名文件:public boolean renameTo(File newFile),当文件重命名成newFile对应的文件名;
  • 删除文件:public void delete( );
  • 创建目录:public boolean mkdir( );
  1. 获取文件或目录属性方法
  • 判断文件或目录是否存在:public boolean exists( ) ,
  • 判断是对象是否是有效文件:public boolean isFile( ),
  • 判断是对象是否是有效目录:public boolean isDirectory( ),
  • 获取文件的读写属性:public boolean canRead( ) , public boolean canWrite() ,
  • 比较两文件或目录是否相同:public boolean equals(File f),
  • 获取文件或目录路径:public String getPath(),
  • 获取文件或目录名称:public String getName(),
  • 获取文件的长度:public long length(),返回文件的字节数;
  1. 获取目录成员
  • File类有一个Sting list[ ]()方法,可以将目录中所有的文件名保存在字符数组中,如
File f=new File("C:/jdk")     //创建File类
 String s[]=f.list();         //将jdk目录下所有的文件或目录名保存到s字符数组中
  1. 过滤文件名
  • 通过创建一个实现FilenameFilter接口的类,在该类中编写需保留的文件名和后缀名的方法;
  • FilenameFilter过滤器接口是实现文件过滤功能必须实现的接口;
class FilenameFilterDemo implements FilenameFilter{
  	private String name;  //定义保留的文件名
  	private String ext;    //定义保留的拓展名
  	
  	public FilenameFilterDemo (String name ,String ext){    //过滤器构造方法,入参是保留文件名和后缀名
  		this.name=name;
  		this.ext=ext;
  	}
  	
  	public boolean accept(File dir, String filename){   //accept成员方法是过滤的核心函数
  		boolean fString=true;
  		if(name!=null)  fString &=filename.startsWith(name);
  		if(ext!=null)    fString &=filename.endsWith("."+ext);
  		return fString;
  	}
  }
  • 对创建的过滤器类实例化对象后,就要用File类实例对象调用list方法,并将过滤器类对象作为list函数的入口参数,此时list在获取字符串数组目录中所有的成员时,会自动过滤掉不符合name和ext的文件名;如,
FilenameFilter x=new FilenameFilterDemo("java","exe");   //新建过滤器对象,设置保留以java开头,并且以.exe结尾的文件
File f=new File("c:/jdk/bin");   	    //新建File类对象,设置目录为bin
String  s=f.list(x);                  //将过滤后的文件名字符串数组存放于s中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值