使用Java的输入流、输出流将一个文本文件的内容按行读出,每读一行就顺序添加行号,并写入另一个文件中。
时间: 2024-02-25 13:54:28 浏览: 62
AddLineNum.rar_C++读取文本_文本文件 读取_读取文本文件
好的,这个问题可以使用Java的输入流和输出流进行操作。具体步骤如下:
1. 创建一个`FileReader`对象,用于读取文本文件的内容。
2. 创建一个`BufferedReader`对象,以便逐行读取文本文件的内容。
3. 创建一个`FileWriter`对象,用于写入行号后的文本文件。
4. 创建一个`BufferedWriter`对象,以便逐行写入文本文件的内容。
5. 使用`while`循环来读取文本文件中的每一行内容。
6. 在循环中,使用`StringBuilder`来构建新的行,并添加行号。
7. 将新的行写入目标文件中。
下面是完整的Java代码示例:
```
import java.io.*;
public class AddLineNumbersToFile {
public static void main(String[] args) {
try {
// 创建FileReader对象,用于读取文本文件的内容
FileReader fr = new FileReader("source.txt");
// 创建BufferedReader对象,以便逐行读取文本文件的内容
BufferedReader br = new BufferedReader(fr);
// 创建FileWriter对象,用于写入行号后的文本文件
FileWriter fw = new FileWriter("target.txt");
// 创建BufferedWriter对象,以便逐行写入文本文件的内容
BufferedWriter bw = new BufferedWriter(fw);
String line;
int lineNumber = 1;
// 使用while循环来读取文本文件中的每一行内容
while ((line = br.readLine()) != null) {
// 使用StringBuilder来构建新的行,并添加行号
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(lineNumber++);
stringBuilder.append(" ");
stringBuilder.append(line);
String newLine = stringBuilder.toString();
// 将新的行写入目标文件中
bw.write(newLine);
bw.newLine();
}
// 关闭输入流和输出流
br.close();
bw.close();
fr.close();
fw.close();
System.out.println("行号已添加到目标文件中!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个程序将读取名为`source.txt`的文本文件中的内容,并将其写入名为`target.txt`的新文件中,每一行都添加了行号。
阅读全文