java 如何打开文件
打开文件的几种方法
在Java中,可以使用多种方式打开文件进行读取或写入操作。以下是常见的几种方法:
使用FileInputStream或FileOutputStream
FileInputStream用于读取文件内容,FileOutputStream用于写入文件内容。
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
// 读取文件
try (FileInputStream fis = new FileInputStream("example.txt")) {
int data;
while ((data = fis.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
}
// 写入文件
try (FileOutputStream fos = new FileOutputStream("example.txt")) {
String content = "Hello, World!";
fos.write(content.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
使用BufferedReader和BufferedWriter

BufferedReader和BufferedWriter提供了缓冲功能,适合处理文本文件。
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
// 读取文件
try (BufferedReader br = new BufferedReader(new FileReader("example.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
// 写入文件
try (BufferedWriter bw = new BufferedWriter(new FileWriter("example.txt"))) {
bw.write("Hello, World!");
bw.newLine();
} catch (IOException e) {
e.printStackTrace();
}
使用Files类(Java 7及以上)

Files类提供了更简洁的方法来处理文件。
import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;
import java.util.List;
// 读取文件
try {
List<String> lines = Files.readAllLines(Paths.get("example.txt"));
for (String line : lines) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
// 写入文件
try {
String content = "Hello, World!";
Files.write(Paths.get("example.txt"), content.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
使用Scanner类
Scanner类适合逐行读取文件内容。
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
try (Scanner scanner = new Scanner(new File("example.txt"))) {
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
注意事项
- 文件路径可以是绝对路径或相对路径。相对路径是相对于当前工作目录的路径。
- 使用
try-with-resources语句可以确保资源在使用后自动关闭,避免内存泄漏。 - 处理文件时可能会抛出
IOException,需要进行异常处理。






