import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CopyFileContent {
public static void main(String[] args) {
try {
// 创建一个BufferedReader对象,用于读取源文件内容
BufferedReader reader = new BufferedReader(new FileReader("source.txt"));
// 创建一个BufferedWriter对象,用于将内容写入目标文件
BufferedWriter writer = new BufferedWriter(new FileWriter("destination.txt"));
// 逐行读取源文件内容,并将其写入目标文件
String line;
while ((line = reader.readLine()) != null) {
writer.write(line);
writer.newLine();
}
// 关闭BufferedReader和BufferedWriter对象
reader.close();
writer.close();
System.out.println("File content copied successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行结果:
- 创建BufferedReader对象:
BufferedReader
对象用于高效地读取文件内容。在这个示例中,我们创建了一个BufferedReader
对象,用于读取名为source.txt
的文件 。
java
BufferedReader reader = new BufferedReader(new FileReader("source.txt"));
- 创建BufferedWriter对象:
BufferedWriter
对象用于高效地将内容写入文件。在这个示例中,我们创建了一个BufferedWriter
对象,用于将内容写入名为destination.txt
的文件 。
java
BufferedWriter writer = new BufferedWriter(new FileWriter("destination.txt"));
- 逐行读取和写入文件内容:我们使用
while
循环逐行读取源文件的内容,并将其写入目标文件。reader.readLine()
方法用于读取一行文本,writer.write(line)
方法用于将一行文本写入文件,writer.newLine()
方法用于写入一个新行 。
java
while ((line = reader.readLine()) != null) { writer.write(line); writer.newLine(); }
- 关闭BufferedReader和BufferedWriter对象:在完成文件读取和写入操作后,我们需要关闭
BufferedReader
和BufferedWriter
对象。这可以防止资源泄漏,确保文件被正确地关闭 。
java
reader.close(); writer.close();
- 异常处理:在读取和写入文件过程中,可能会发生
IOException
。我们使用try-catch
语句来捕获这些异常,并在发生异常时打印异常堆栈信息 。
java
catch (IOException e) { e.printStackTrace(); }
这个示例展示了如何使用java.io.BufferedReader
和java.io.BufferedWriter
类来高效地读取和写入文件。在运行此示例之前,请确保在项目根目录下存在名为source.txt
的源文件。程序将读取source.txt
文件的内容,并将其复制到名为destination.txt
的目标文件中。如果目标文件不存在,程序将自动创建它。如果目标文件已存在,程序将覆盖其内容。