尽管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
System.out.println(s[I]);
}
}
}
[listFiles方法]
java2增加了list()方法的一个变化形式,称为listFiles(),形式如下:
File[] listFiles();
File[] listFiles(FilenameFilter FFObj);
File[] listFiles(FileFilter Fojb);
第三种形式返回满足指定FileFilter的路径名的文件。FileFilter只定义了一个accept方法,该方法被列表中的每个文件调用一次。