|
java.io.file(文件类) 尽管java.io定义的大多数类是实行流式操作,file类不是。它直接处理文件和文件系统。也就是说,file类没有指定信息怎样从文件读取或向文件存储。file对象是用来或取或处理与磁盘文件相关的信息,例如:权限、时间、日期和目录路径。此外,file还浏览目录层次结构。 [构造函数] file(string directorypath) file f1=new file(“/”) file(string directorypath,string filename) file f1=new file(“/”,”auto.bat”) file(file dirobj,string filename) file f1=new file(f1,”auto.bat”) [方法] canwrite(),canread(),exists()是否存在文件,getname()返回文件名,getparent()返回父目录,getpath(),getabsolutepath(),isfile(),isabsolute(),length(),lastmodified() 这些方法允许验证一个简单文件对象属性,但是没有相应的函数来改变这些属性。 renameto(),delete()----用于操作文件。 [目录] 目录是一个包含其他文件和路径列表的file类。如果一个file对象是目录,可以使用isdirectory()方法和list()方法。mkdir()方法用来创建一个目录,mkdirs()方法用来创建目录以及该目录所有的父目录。 [list 方法] 1)string[] list() 2)string[] list(filenamefilter ffobj),ffobj是实现filenamefilter接口的类的对象。 filenamefilter接口有一个方法boolean accept(file directory,string filename)。该方法被列表中的每个文件调用一次。 import java.io.*; public class onlyext implements filenamefilter{ string ext; public onlyext(string ext){ this.ext=”.”+ext; } public boolean accept(file dir,string name){ return name.endswith(ext); } } //只显示.html为扩展名的文件 import java.io.*; class dirlistonly{ public static void main(string args[]){ string dirname=”/java”; file f1=new file(dirname); filenamefilter only = new onlyext(“html”); string s[] = f1.list(only); for (int i=0;i<s.length;i++){ system.out.println(s[i]); } } } [listfiles方法] java2增加了list()方法的一个变化形式,称为listfiles(),形式如下: file[] listfiles(); file[] listfiles(filenamefilter ffobj); file[] listfiles(filefilter fojb); 第三种形式返回满足指定filefilter的路径名的文件。filefilter只定义了一个accept方法,该方法被列表中的每个文件调用一次。 boolean accept(file path)
|