目录
1、File类的使用
1.1、创建File对象
注意:
File对象可以定位文件和文件夹
File封装的对象仅仅是一个路径名,这个路径可以是存在的,也可以是不存在的
复习:
1、File类的作用?
创建对象定位文件,可以删除、获取文件信息等。但是不能读写文件内容。
2、File类构建对象的方式 ?
File file = new File(“文件/文件夹/绝对路径/相对路径”);
3、绝对路径和相对路径是什么样的?
绝对路径是带盘符的。
相对路径是不带盘符的,默认到当前工程下寻找文件。
1.2、常用方法
1.2.1、判断文件类型、获取文件信息
File类的判断文件类型、获取文件信息功能
方法名称 | 说明 |
public boolean isDirectory() | 判断此路径名表示的File是否为文件夹 |
public boolean isFile() | 判断此路径名表示的File是否为文件 |
public boolean exists() | 判断此路径名表示的File是否存在 |
public long length() | 返回文件的大小(字节数量) |
public String getAbsolutePath() | 返回文件的绝对路径 |
public String getPath() | 返回定义文件时使用的路径 |
public String getName() | 返回文件的名称,带后缀 |
public long lastModified() | 返回文件的最后修改时间(时间毫秒值) |
1.2.2、创建文件、删除文件功能
File类创建文件的功能
方法名称 | 说明 |
public boolean createNewFile() | 创建一个新的空的文件 |
public boolean mkdir() | 只能创建一级文件夹 |
public boolean mkdirs() | 可以创建多级文件夹 |
File类删除文件功能
方法名称 | 说明 |
public boolean delete() | 删除由此抽象路径名表示的文件或空文件夹 |
注意
1.2.3、遍历文件夹
File类的遍历功能
方法名称 | 说明 |
public String[] list() | 获取当前目录下所有的"一级文件名称"到一个字符串数组中去返回。 |
public File[] listFiles()(常用) | 获取当前目录下所有的"一级文件对象"到一个文件对象数组中去返回(重点) |
public class FileDemo3 {
public static void main(String[] args) {
File f1 = new File("D:/log4j");
String[] list = f1.list();
for (String s : list) {
System.out.println(s);
}
System.out.println("--------");
File[] files = f1.listFiles();
for (File file : files) {
System.out.println(file.getAbsolutePath());
}
}
}
00
01
file.log
新建文本文档.txt
--------
D:\log4j\00
D:\log4j\01
D:\log4j\file.log
D:\log4j\新建文本文档.txt
删除文件夹中的所有内容
package com.itwpf.d01_file;
import java.io.File;
public class DeleteFilestore {
public static void main(String[] args) {
//删除一个文件夹下的所有文件(包括子目录内的文件)
File file = new File("D:\\log4j\\临时文件");//输入要删除文件目录的绝对路径
if (deleteFile(file)) {
System.out.println("文件删除成功!");
}
}
public static Boolean deleteFile(File file) {
//判断文件不为null或文件目录存在
if (file == null || !file.exists()) {
System.out.println("文件删除失败,请检查文件是否存在以及文件路径是否正确");
return false;
}
//获取目录下子文件
File[] files = file.listFiles();
//遍历该目录下的文件对象
for (File f : files) {
//判断子目录是否存在子目录,如果是文件则删除
if (f.isDirectory()) {
//递归删除目录下的文件
deleteFile(f);
} else {
//文件删除
f.delete();
//打印文件名
System.out.println("文件名:" + f.getName());
}
}
//文件夹删除
file.delete();
System.out.println("目录名:" + file.getName());
return true;
}
}
文件名:01.mp4
文件名:kkk.txt
文件名:sout.txt
目录名:31
目录名:21
目录名:22
目录名:11
目录名:12
目录名:00
文件名:001.mp4
文件名:002.mp4
文件名:01.mp4
文件名:01.txt
文件名:02.mp4
文件名:02.txt
目录名:01
文件名:file.log
文件名:新建文本文档.txt
目录名:临时文件
文件删除成功!