使用Java的输入和输出流将一个文本文件的内容按行读出,每读出一行就顺序添加行号,并写入另一个文件中。(读取的文件路径:E:/Source.txt;写入的文件路径:E:/Object.txt)
时间: 2024-02-09 15:09:54 浏览: 60
编写程序,实现为一个文本文件,例如一个JAVA程序文件, 添加行号。
好的,以下是使用 Java 输入和输出流实现按行读取文本文件,并添加行号并写入另一个文件的代码:
```java
import java.io.*;
public class MainClass {
public static void main(String[] args) {
String sourceFilePath = "E:/Source.txt";
String targetFilePath = "E:/Object.txt";
try {
File sourceFile = new File(sourceFilePath);
File targetFile = new File(targetFilePath);
BufferedReader reader = new BufferedReader(new FileReader(sourceFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(targetFile));
String line;
int lineNumber = 1;
while ((line = reader.readLine()) != null) {
writer.write(lineNumber + ": " + line);
writer.newLine();
lineNumber++;
}
reader.close();
writer.close();
System.out.println("文件内容已成功写入到目标文件中!");
} catch (IOException ex) {
System.out.println("读取文件时出现了错误:" + ex.getMessage());
}
}
}
```
在上面的代码中,我们首先定义了两个字符串变量 `sourceFilePath` 和 `targetFilePath`,分别表示要读取的文件路径和要写入的文件路径。
然后,我们使用 `File` 类创建了对应的文件对象 `sourceFile` 和 `targetFile`。
接下来,我们使用 `BufferedReader` 类创建了一个用于读取文件的字符流,同时使用 `FileReader` 类将文件对象传递给 `BufferedReader` 类的构造函数中。
我们还使用 `BufferedWriter` 类创建了一个用于写入文件的字符流,同时使用 `FileWriter` 类将文件对象传递给 `BufferedWriter` 类的构造函数中。
在读取文件时,我们使用 `BufferedReader` 类的 `readLine()` 方法逐行读取文件内容,并使用 `BufferedWriter` 类的 `write()` 方法将每一行内容写入目标文件中。
在写入文件时,我们使用 `BufferedWriter` 类的 `newLine()` 方法添加换行符,使得每一行内容都单独占用一行。我们还使用 `lineNumber` 变量来记录行号,并将行号和行内容一起写入到目标文件中。
最后,我们关闭了读取和写入文件的字符流,并输出了一条成功的消息。
希望这段代码对您有所帮助!
阅读全文