File类的定义结构:publicclassFileimplementsSerializable, Comparable
可以看出:File类是Comparable接口的子类,所以File类是可以进行排序的。在使用File类时需要为其设置路径,对于路径的设置主要通过File类的构造方法进行设置。
publicFile(String pathname) ; //设置File类的完整路径
publicFile(String parent , String child) ; //设置File类的父路径以及子目录。
如果想对文件进行操作,可以使用三个常用方法:
public boolean createNewFile() throws IOException //创建新文件
public boolean isExists() ; //判断文件是否存在
public boolean delete() ; //删除文件
packagecn.tenon.filedemo;importjava.io.File;public classFileDemo01 {public static void main(String[] args) throwsException{
File file= new File("F:" + File.separator + "e.txt") ;if(file.exists()) {
file.delete() ;
}else{
System.out.println(file.createNewFile()) ;
}
}
}
在File类中提供了一个常量 : File.separator
publicstaticfinalStringpathSeparator=""+pathSeparatorChar;
是为解决系统分隔符路径的问题。在Windows中用“ \ ”作为路径目录的分隔符,而在Linux中用“ / ”作为路径目录的分隔符。
对文件操作的常用方法:
public File getParentFile()获取父路径
public boolean mkdirs()创建路径
packagecn.tenon.filedemo;importjava.io.File;public classFileDemo01 {public static void main(String[] args) throwsException{
File file= new File("F:" + File.separator + "a" + File.separator + "b" + File.separator + "c" + File.separator + "result.txt") ;if(!file.getParentFile().exists()) {
file.mkdirs() ;
}if(file.exists()) {
file.delete() ;
}else{
System.out.println(file.createNewFile());
}
}
}
File类的其他常用方法:
public boolean canRead() ;判断文件是否可读
public boolean canWrite() ;判断文件是否可写
public boolean isFile() ;判断是否是文件
public boolean isDirectory() ;判断是否是目录
public long length() ;取得文件长度
public longlastModified() ;取得文件的最后修改日期
public String getName() ;取得文件名称
packagecn.tenon.filedemo;importjava.io.File;importjava.text.SimpleDateFormat;importjava.util.Date;public classFileDemo01 {public static void main(String[] args) throwsException{
File file= new File("F:" + File.separator + "a" + File.separator + "b" + File.separator + "c" + File.separator + "result.txt") ;
Date date= newDate() ;
System.out.println(file.canWrite()) ;
System.out.println(file.canRead()) ;
System.out.println(file.isFile()) ;
System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(newDate(file.lastModified()))) ;
System.out.println(file.length()) ;
}
}
运行结果:true、true、true、2019-02-22、8
其他方法:
public File[] listFiles() ;列出目录中的全部内容
packagecn.tenon.filedemo;importjava.io.File;public classFileDemo01 {public static void main(String[] args) throwsException{
File file= new File("F:" +File.separator) ;
File files[]=file.listFiles() ;for(int x = 0 ; x < files.length ; x ++) {
System.out.println(files[x]) ;
}
}
}
列出一个文件下的所有内容以及子目录:
packagecn.tenon.filedemo;importjava.io.File;public classFileDemo01 {public static void main(String[] args) throwsException{
File file= new File("F:" + File.separator + "开发Jar包") ;
listDir(file) ;
}public static voidlistDir(File file) {if(file.isDirectory()) {
File files[]=file.listFiles() ;for(int x = 0 ; x < files.length ; x ++) {if(files[x].isDirectory()) {
listDir(files[x]) ;
}
}
}
System.out.println("完整路径" +file) ;
}
}