文件对象(文件、文件夹)
创建对象
new File(String pathname)
new File(String parent, String child)
new File(File parent, String child)
注意:创建文件对象,文件若不存在,也不会报错。
File file = new File("D:\\fileTest\\A.txt");
file.createNewFile();
System.out.println(file);
相对路径、绝对路径
绝对路径:从盘符根目录开始
相对路径:相对于当前项目
需要写\\
,一根不行,一根是转义,或者一根/.
常用方法
判断
boolean isDirectory():是否为文件夹
boolean isFile():是否为文件
boolean exists():是否存在
获取
length():文件大小(字节数量)
getAbsolutePath():文件的绝对路径
getPath():定义文件时的路径
getName():文件的名称,带后缀
lastModified():最后的修改时间(时间毫秒值)
注意:文件夹的.length()返回的值不正确,需要另外计算。
创建
boolean createNewFile():创建一个新的空文件
boolean mkdir():只能创建一级文件夹
boolean mkdirs():可以创建多级文件夹
注意:已经存在就不再创建
删除
boolean delete():删除文件或文件夹
注意:删除文件夹时,只能删除空的文件夹。空的文件夹嵌套也无法删除。
遍历
File[] listFiles():获取当前目录下所有的一级文件对象,返回File数组
注意:
1.当文件路径不存在时,返回null
2.当文件路径是一个文件时,返回null
3.当文件路径是一个空文件夹时,返回一个长度为0的数组
4.当文件路径需要权限才能访问时,返回null
案例:删除整个文件夹
fileTest
aa
bb
bb.txt
aa.txt
public static void main(String[] args) throws IOException {
File file = new File("D:\\fileTest");
printB(file);
}
public static void printB(File file) {
File[] files = file.listFiles();
if (files == null) {
return;
}
for (File file1 : files) {
if (file1.isFile()) {
System.out.println("删除文件:" + file1.getName() + " " + file1.delete());
} else if (file1.isDirectory()) {
printB(file1);
}
}
System.out.println("删除文件夹:" + file.getName() + " " + file.delete());
}