File类:文件和目录路径名的抽象表示形式。
在java.io.File中。
在java中文件目录可以用/
连接,也可以用//
和\\
连接,但是不可以使用\
连接,因为\在java中有特殊含义。
抽象路径名中的每个名称代表一个目录;最后一个名称既可以代表目录,也可以代表文件。空的抽象路径名没有前缀和名称序列。
构造器
File(String pathname)
通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File file=new File("D:/test.txt");
File(String parent, String child)
根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
File file=new File("D:","test.txt");
File(File parent, String child)
根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
File parent=new File("D:");
File file=new File(parent,"test.txt");
方法
boolean canExecute()
测试应用程序是否可以执行此抽象路径名表示的文件。boolean canRead()
测试应用程序是否可以读取此抽象路径名表示的文件。boolean canWrite()
测试应用程序是否可以修改此抽象路径名表示的文件。setReadOnly()
将文件设置为只读。boolean createNewFile()
若在当前文件夹下不存在文件时创建文件(文件夹不存在时无法创建)
File file=new File("D:/test.txt");
return file.createNewFile();//true,D:/存在,所以在D:/创建文件。
File file=new File("test.txt");
return file.createNewFile();//true,没有指定盘符,默认在项目所在路径下创建文件。
boolean mkdir()
创建此抽象路径名指定的目录。 (创建单层目录)
File file=new File("D:/Demo/test01");
return file.mkdir();//返回false 无法创建多层目录
File file01=new File("D:/Demo");
return file01.mkdir();//返回true
boolean mkdirs()
创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。 (创建多层目录)
File file=new File("D:/Demo/test01.text");
return file.mkdirs();//返回true 但是会把test01.text也当成文件夹来创建,可以用getParentFile()解决。
return file01.getParentFile().mkdirs();//返回true
String getParent()
返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。File getParentFile()
返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。static File createTempFile(String prefix, String suffix)
在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。 (C:\Users\Administrator\AppData\Local\Temp)static File createTempFile(String prefix, String suffix, File directory)
在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。boolean delete()
删除此抽象路径名表示的文件或目录。
file.delete();
boolean equals(Object obj)
测试此抽象路径名与给定对象是否相等。boolean exists()
测试此抽象路径名表示的文件或目录是否存在。File getAbsoluteFile()
返回此抽象路径名的绝对路径名形式。
File file=new File("D:/Demo/test01");
return File.getAbsoluteFile()//返回 D:/Demo/test01
String getAbsolutePath()
返回此抽象路径名的绝对路径名字符串。long getFreeSpace()
返回此抽象路径名指定的分区中未分配的字节数。String getName()
返回由此抽象路径名表示的文件或目录的名称。
File file=new File("D:/Demo/test01.txt");
return File.getName()//返回 test01.txt
File file01=new File("D:/Demo");
return File01.getName()//返回 Demo
String getPath()
将此抽象路径名转换为一个路径名字符串 。(注意与getAbsolutePath()的区别)
File file=new File("test01.txt");
return File.getPath()//返回 test01.txt
return File01.getAbsolutePath()//返回 项目所在路径/test01.txt
boolean isAbsolute()
测试此抽象路径名是否为绝对路径名。boolean isDirectory()
测试此抽象路径名表示的文件是否是一个目录。boolean isFile()
测试此抽象路径名表示的文件是否是一个标准文件。long lastModified()
返回此抽象路径名表示的文件最后一次被修改的时间。 (返回的是毫秒数)long length()
返回由此抽象路径名表示的文件的长度。String[] list()
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
File file=new File("D:/Demo/test01");
File file01=new File("D:/Demo/test02");
return File.getParentFile().list()//返回 [test01,test02]
File[] listFiles()
返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
File file=new File("D:/Demo/test01");
File file01=new File("D:/Demo/test02");
return File.getParentFile().list()//返回 [D:/Demo/test01,D:/Demo/test02]
String toString()
返回此抽象路径名的路径名字符串。boolean renameTo(File dest)
重新命名此抽象路径名表示的文件。
File file=new File("D:/Demo/test01.txt");
return file.renameTo(new File("D:/Demo/test02.txt")));