概述
java.io.File
类是文件和目录路径名的抽象表示,主要用于文件和目录的创建,查找和删除等操作;
File类的静态成员变量
//名称分隔符,windows下是分号 ; linux下是冒号 :
File.pathSeparator;
//文件名称分隔符,windows下是反斜杠 \ linux下是 /
File.separator;
绝对路径和相对路径
绝对路径 : 一个完整的路径; 例: C:\demo\a.txt
相对路径 : 是一个简化的路径; 例: 当前项目路径是:C:\demo,找a.txt就可以直接写a.txt(省略项目的根目录)
File类的构造方法
//构造方式一: 直接传一个String类型地址
File file = new File("C:\\demo\\a.txt");
//C:\demo\a.txt
System.out.println(file);
//构造方式二:传两个String类型地址,最后拼接
File file1 = new File("C:", "\\demo\\a.txt");
//C:\demo\a.txt
System.out.println(file1);
//构造方式三:传一个File类和一个String
File parent = new File("C:");
File file2 = new File(parent, "\\demo\\a.txt");
//C:\demo\a.txt
System.out.println(file2);
File类常用方法
File file = new File("D:\\demo\\a.txt");
//获取此File绝对路径字符串; D:\demo\a.txt
file.getAbsoluteFile();
//将此File转换成路径名称字符串; D:\demo\a.txt
file.getPath();
//返回此File表示的文件或目录的名称; a.txt
file.getName();
//返回此File表示的文件的内容长度;因为a.txt不存在,所以结果是0;
file.length();
//此File表示的文件或者目录是否存在,a.txt不存在,结果是false;
file.exists();
//此File表示的是否为目录;false
file.isDirectory();
//此File表示的是否为文件;true
file.isFile();
//文件不存在,创建文件,返回true;文件存在,不会创建,返回false;
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
//删除由此File表示的文件或路径;
file.delete();
//创建单级空文件夹
file.mkdir();
//创建多级空文件夹
file.mkdirs();
File遍历目录
File file = new File("D:\\demo\\abc\\def\\hij");
//使用list方法返回一个目录的数组
String[] fileArr = file.list();
//遍历获取到的是最后这个目录下的文件或文件夹的名称
//如果最后一个是文件或者路径不存在,都会报空指针异常
for (String fileName : fileArr) {
/*a.txt
b.txt
c.txt
新建文件夹*/
System.out.println(fileName);
}
//使用listFiles方法返回一个目录的数组
//遍历获取到的是最后这个目录下的文件或文件夹的绝对路径
File[] files = file.listFiles();
/*D:\demo\abc\def\hij\a.txt
D:\demo\abc\def\hij\b.txt
D:\demo\abc\def\hij\c.txt
D:\demo\abc\def\hij\新建文件夹*/
for (File filesName : files) {
System.out.println(filesName);
}