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)
闽公网安备 35060202000074号