全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-08 8 分钟 ✍️ juanwangdev

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保证跨平台兼容

📝 发现内容有误?点击此处直接编辑

← 上一篇 继承
下一篇 → NIO
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库