File类
File类表示文件或目录的路径抽象,提供文件属性操作功能。
File类概述
所在包
java.io.File
核心特点
- 表示文件或目录的路径
- 可以获取文件属性
- 可以创建、删除文件或目录
- 不读写文件内容(需配合流使用)
创建File对象
构造方法
Java
// 通过路径字符串
File file1 = new File("C:/data/test.txt");
// 通过父路径和子路径
File file2 = new File("C:/data", "test.txt");
// 通过父File对象和子路径
File parent = new File("C:/data");
File file3 = new File(parent, "test.txt");
File对象创建不会创建实际文件,只是路径表示。
常用方法
文件属性查询
Java
File file = new File("test.txt");
// 判断存在
boolean exists = file.exists();
// 判断是文件
boolean isFile = file.isFile();
// 判断是目录
boolean isDir = file.isDirectory();
// 获取文件名
String name = file.getName();
// 获取文件大小(字节)
long size = file.length();
// 获取绝对路径
String absPath = file.getAbsolutePath();
// 获取父目录路径
String parent = file.getParent();
文件操作
Java
File file = new File("test.txt");
// 创建文件(不存在则创建)
boolean created = file.createNewFile();
// 删除文件
boolean deleted = file.delete();
// 创建目录
File dir = new File("data");
boolean dirCreated = dir.mkdir(); // 创建单级目录
boolean dirsCreated = dir.mkdirs(); // 创建多级目录
// 重命名/移动
boolean renamed = file.renameTo(new File("new.txt"));
目录遍历
Java
File dir = new File("C:/data");
// 获取文件名数组
String[] names = dir.list();
// 获取File对象数组
File[] files = dir.listFiles();
// 过滤遍历
File[] txtFiles = dir.listFiles(f -> f.getName().endsWith(".txt"));
文件与目录的区别
| 对比项 | 文件 | 目录 |
|---|---|---|
| 判断方法 | isFile() | isDirectory() |
| 内容 | 存储数据 | 存放文件/子目录 |
| length() | 返回文件大小 | 返回值不确定 |
| 操作 | createNewFile() | mkdir()/mkdirs() |
注意:File既可以表示文件也可以表示目录,需要用isFile()或isDirectory()判断。
路径表示方式
绝对路径与相对路径
Java
// 绝对路径(完整路径)
File abs = new File("C:/data/test.txt");
// 相对路径(相对于项目根目录)
File rel = new File("data/test.txt");
路径分隔符
- Windows:
\或/(推荐用/或File.separator) - Linux/Mac:
/
Java
// 使用separator跨平台
String path = "C:" + File.separator + "data" + File.separator + "test.txt";
要点总结
- File表示文件/目录路径,不读写内容
- exists()判断存在,isFile()/isDirectory()判断类型
- createNewFile()创建文件,mkdirs()创建多级目录
- delete()删除,renameTo()重命名/移动
- listFiles()遍历目录内容
- 使用File.separator保证跨平台兼容
📝 发现内容有误?点击此处直接编辑