◇ 文件或目录的生成
public File(String path);/*如果path是实际存在的路径,则该File对象
/*表示的是目录;如果path是文件名,则该File对象表示的是文件。*/
public File(String path,String name);//path是路径名,name是文件名
public File(File dir,String name);//dir是路径名,name是文件名
◇ 文件名的处理
String getName( ); //得到一个文件的名称(不包括路径)
String getPath( ); //得到一个文件的路径名
String getAbsolutePath( );//得到一个文件的绝对路径名
String getParent( ); //得到一个文件的上一级目录名
String renameTo(File newName); //将当前文件名更名为给定文件的
完整路径
◇ 文件属性测试
boolean exists( ); //测试当前File对象所指示的文件是否存在
boolean canWrite( );//测试当前文件是否可写
boolean canRead( );//测试当前文件是否可读
boolean isFile( ); //测试当前文件是否是文件(不是目录)
boolean isDirectory( ); //测试当前文件是否是目录
◇ 普通文件信息和工具
long lastModified( );//得到文件最近一次修改的时间
long length( ); //得到文件的长度,以字节为单位
boolean delete( ); //删除当前文件
◇ 目录操作
boolean mkdir( ); //根据当前对象生成一个由该对象指定的路径
String list( ); //列出当前目录下的文件
【例4-3】
import java.io.*; //引入java.io包中所有的类
public class FileFilterTest{
public static void main(String args[]){
File dir=new File("d://ex");
//用File 对象表示一个目录
Filter filter=new Filter("java"); //生成一个名为java的过滤器
System.out.println("list java files in directory "+dir);
String files[]=dir.list(filter); //列出目录dir下,文件后缀名
为java的所有文件
for(int i=0;i<files.length;i++){
File f=new File(dir,files[i]); //为目录dir
下的文件或目录
创建一个File 对象
if(f.isFile()) //如果该对象为后缀为java的文件,
则打印文件名
System.out.println("file "+f);
else
System.out.println("sub directory "+f );
//如果是目录
则打印目录名
}
}
}
class Filter implements FilenameFilter{
String extent;
Filter(String extent){
this.extent=extent;
}
public boolean accept(File dir,String name){
return name.endsWith("."+extent);
//返回文件的后缀名
}
}
|