掌握 Java 文件操作:java.io 包下的创建、读取、写入与删除
Java File 类详解
java.io.File 类提供了与文件系统交互的编程接口,支持文件和目录的创建、读取、写入及删除等核心操作。虽然 java.nio.file API 功能更强大,但本指南专注于经典的 java.io 方式。
文件与目录基础
文件是存储数据的命名位置,例如 main.java 存放 Java 源代码。目录(文件夹)是容器,可包含文件和子目录。理解这两个概念是进行文件系统操作的基础。
创建 File 对象
首先导入类:
import java.io.File;
然后使用路径名实例化:
// 创建代表路径的 File 对象
File file = new File("path/to/file.txt");
注意:实例化 File 并不会在磁盘上创建物理文件,它仅持有路径名的抽象表示。
核心文件操作方法
| 操作 | 方法 | 所属包 |
|---|---|---|
| 创建文件 | createNewFile() | java.io.File |
| 读取文件 | read() | java.io.FileReader |
| 写入文件 | write() | java.io.FileWriter |
| 删除文件 | delete() | java.io.File |
创建文件
createNewFile() 尝试在指定路径创建新文件,返回值:
true:文件不存在且创建成功false:文件已存在
示例:创建新文件
import java.io.File;
public class Main {
public static void main(String[] args) {
File file = new File("newFile.txt");
try {
boolean created = file.createNewFile();
if (created) {
System.out.println("文件创建成功。");
} else {
System.out.println("文件已存在。");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
若 newFile.txt 不存在,输出:
文件创建成功。
若已存在,输出:
文件已存在。
读取文件
读取通常使用 InputStream 或 Reader 的子类,常用 FileReader。
示例:使用 FileReader 读取文件
import java.io.FileReader;
public class Main {
public static void main(String[] args) {
char[] buffer = new char[100];
try {
FileReader reader = new FileReader("input.txt");
reader.read(buffer);
System.out.println("文件内容:");
System.out.println(buffer);
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
假设 input.txt 内容为:
This is a line of text inside the file.
程序输出:
文件内容: This is a line of text inside the file.
写入文件
写入通常使用 OutputStream 或 Writer 的子类,如 FileWriter。
示例:使用 FileWriter 写入文件
import java.io.FileWriter;
public class Main {
public static void main(String[] args) {
String data = "This is the data in the output file";
try {
FileWriter writer = new FileWriter("output.txt");
writer.write(data);
System.out.println("数据已写入文件。");
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
生成的 output.txt 内容:
This is the data in the output file.
删除文件
delete() 删除指定文件或目录,返回值:
true:删除成功false:文件不存在或无法删除
注意:delete() 只能删除空目录。
示例:删除文件
import java.io.File;
public class Main {
public static void main(String[] args) {
File file = new File("file.txt");
boolean deleted = file.delete();
if (deleted) {
System.out.println("文件已删除。");
} else {
System.out.println("文件删除失败。");
}
}
}
输出:
文件已删除。
相关扩展示例
- Java 创建目录
- Java 重命名文件
- Java 列出目录下的文件
- Java 复制文件
java
- 深入理解 Java final 关键字:变量、方法与类的不可变性
- Java instanceof 运算符完全指南:用法、继承与接口检查
- 精通 Java 继承:核心概念、类型与实战示例
- 深入理解 Java 静态嵌套类:用法、差异与实战示例
- 精通 Java 匿名内部类:定义、语法与实战示例
- Java 单例模式详解:安全实现与使用指南
- 精通 Java 反射:运行时检查类、方法与字段
- 精通 Java ArrayList:操作、方法与最佳实践
- Java Stack 类全面指南:用法、核心方法与实战示例
- 掌握 Java ObjectOutputStream:序列化、核心方法与实战示例
- 掌握 Java BufferedReader:高效字符流处理实战指南
- 掌握 Java 泛型:构建可复用、类型安全的代码