JAVA编写一个程序,实现从指定文本文件(文件名从键盘输入)中读出文件内容,并标注上行号写到另一个文本文件(文件名从键盘输入)中。
时间: 2024-12-31 19:49:25 浏览: 8
在Java中,你可以创建一个简单的控制台应用程序来完成这个任务。这里是一个基础的示例,说明如何使用`BufferedReader`和`PrintWriter`类来实现这个功能:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileContentReader {
public static void main(String[] args) {
// 获取用户输入的源文件和目标文件名
String sourceFileName = getUserInput("请输入源文件名:");
String targetFileName = getUserInput("请输入目标文件名:");
try {
// 读取源文件
BufferedReader reader = new BufferedReader(new FileReader(sourceFileName));
PrintWriter writer = new PrintWriter(new FileWriter(targetFileName));
int lineNumber = 1; // 初始化行号
String line;
while ((line = reader.readLine()) != null) {
// 添加行号前缀
writer.println("Line " + lineNumber + ": " + line);
lineNumber++;
}
// 关闭流
reader.close();
writer.close();
System.out.println("文件内容已成功标注并保存至 " + targetFileName);
} catch (IOException e) {
System.err.println("发生错误: " + e.getMessage());
}
}
private static String getUserInput(String prompt) {
return JOptionPane.showInputDialog(prompt);
}
}
```
在这个程序中,首先获取用户的输入作为源文件和目标文件的名称。然后,通过`BufferedReader`逐行读取源文件的内容,每读取一行就增加行号,并将其添加到`PrintWriter`实例的目标文件中。最后关闭流并打印一条消息确认操作已完成。
阅读全文