File类
File类是文件和目录路径名称的抽象表示,主要用于文件和目录的创建、查找和删除等操作。在创建File对象的时候,需要传递一个路径,这个路径定位到哪个文件或者文件夹上,File就代表哪个对象。
File file = new File("D:\HelloWorld\Books\test.txt")
File的静态成员
static String pathSeparator
:与系统有关的路径分隔符,为了方便,它被表示为一个字符串。
String pathSeparator = File.pathSeparator;
System.out.println("pathSeparator = " + pathSeparator);
static String separator
:与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。
String separator = File.separator;
System.out.println("separator = " + separator);
因为Java中转义符的原因,下面来介绍一下如何用Java代码正确编写一个路径。
public class Test {
public static void main(String[] args) {
file();
}
private static void file() {
String path1 = "D:\\HelloWorld\\Books";
System.out.println(path1);
String path2 = "D:"+ File.separator+"HelloWorld"+File.separator+"Books"; //要求代码写完,一次编写,到处运行
System.out.println(path2);
}
}
两者运行结果是一样的。
File的构造方法
File(String parent, String child)
parent:父路径,child:子路径
public class Test {
public static void main(String[] args) {
File file = new File("D:\\HelloWorld\\Books", "test.txt");
System.out.println("file = " + file);
}
}
File(File parent, String child)
parent:父路径,是一个File对象,child:子路径
public class Test {
public static void main(String[] args) {
File parent = new File("D:\\HelloWorld\\Books");
File file = new File(parent, "test.txt");
System.out.println("file = " + file);
}
}
File(String pathname)
根据所填写的路径创建File对象,pathname直接指定路径
public class Test {
public static void main(String[] args) {
File file = new File("D:\\HelloWorld\\Books\\test.txt");
System.out.println("file = " + file);
}
}
File的获取方法
String getAbsolutePath()
:获取File的绝对路径,带盘符的路径String getPath()
:获取的是封装路径,new File对象的时候写的啥路径,获取的就是啥路径String getName()
:获取的是文件或者文件夹名称long length()
:获取的是文件的长度,文件的字节数
File的创建方法
boolean createNewFile()
:创建文件,如果要创建的文件之前有,则会创建失败返回false。boolean mkdirs()
:创建文件夹(目录)既可以创建多级文件夹,还可以创建单级文件夹。如果要创建的文件夹之前有,则会创建失败,返回false
File的删除方法
boolean delete()
:删除文件或者文件夹,删除文件、文件夹不走回收站!且文件夹必须是空文件夹
File的判断方法
boolean isDirectory()
:判断是否为文件夹boolean isFile()
:判断是否为文件boolean exists()
:判断文件或者文件夹是否存在
File的遍历方法
String[] list()
:遍历指定的文件夹,返回的是String数组File[] listFiles()
:遍历指定的文件夹,返回的是File数组
注意:listFiles方法底层还是list方法,调用list方法,遍历文件夹,返回一个Stirng数组,遍历数组,将数组中的内容一个一个封装到File对象中,然后再将File对象放到File数组中。