题目:
给定一个文件,通过文件读写,给文件内容加行号。
行号形式如:
1:) xxXXXX
2:) xxxxXX
要求:
使用缓冲流操作。
思路分析:
程序定义了两个字符串变量 inputFile
和 outputFile
,分别存储输入文件的路径和输出文件的路径。
在try-catch块中,程序通过 BufferedReader
和 FileReader
类实例化一个文件读取器,将输入文件读入内存。同时,程序通过 BufferedWriter
和 FileWriter
类实例化一个文件写入器,将结果写入输出文件。
程序定义了一个整数变量 lineNumber
,用于表示每行的行号。初始值为 1。
程序通过 while 循环逐行读取输入文件中的内容,然后依次对每一行进行加行号的操作。
在每次循环中,程序将当前行的行号与该行的内容拼接起来,格式为 "行号:) 内容",并使用 writer.write()
方法将结果写入输出文件中。然后调用 writer.newLine()
方法在该行的内容之后添加一个换行符,以便下一行内容在新的一行开始。
最后,程序关闭文件读取器和文件写入器,并输出一条提示消息,说明文件内容已成功加行号并保存到输出文件中。
运行结果:
代码:
import java.io.*;
public class AddLineNumberToFile {
public static void main(String[] args) {
String inputFile = "input.txt"; // 输入文件路径
String outputFile = "output.txt"; // 输出文件路径
try {
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile));
String line;
int lineNumber = 1;
while ((line = reader.readLine()) != null) {
writer.write(lineNumber + ":) " + line);
writer.newLine();
lineNumber++;
}
reader.close();
writer.close();
System.out.println("文件内容已成功加行号并保存到 output.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
}