在 Java 中,有多种方法可以用来读写文件,本文将详细介绍如何使用 Java 标准库中的类和方法来执行文件读写操作。
我们将重点讨论以下几种方法:
File
类FileInputStream
和 FileOutputStream
类BufferedReader
和 BufferedWriter
类Files
类和 Path
接口Scanner
类和 PrintWriter
类1. 使用 File
类
Java 中的 File
类可以用来表示文件和目录路径名。它提供了一些用于操作文件和目录的方法,如创建、删除、重命名等。然而,File
类不支持直接读写文件内容。
2. 使用 FileInputStream
和 FileOutputStream
类
FileInputStream
和 FileOutputStream
类分别用于从文件读取数据和向文件写入数据。
它们是字节流类,可以用于读写任何类型的文件,包括文本文件和二进制文件。
示例代码:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class ReadWriteFile {
public static void main(String[] args) {
String inputFile = "input.txt";
String outputFile = "output.txt";
try (FileInputStream fis = new FileInputStream(inputFile);
FileOutputStream fos = new FileOutputStream(outputFile)) {
int data;
while ((data = fis.read()) != -1) {
fos.write(data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. 使用 BufferedReader
和 BufferedWriter
类
BufferedReader
和 BufferedWriter
类提供了更高效的文本文件读写方法。
它们分别包装了 FileReader
和 FileWriter
类,提供了缓冲功能。
示例代码:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class ReadWriteFile {
public static void main(String[] args) {
String inputFile = "input.txt";
String outputFile = "output.txt";
try (BufferedReader br = new BufferedReader(new FileReader(inputFile));
BufferedWriter bw = new BufferedWriter(new FileWriter(outputFile))) {
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}