运用适当的输入输出流类,读取当前正在编辑的Java源程序文件,在读取的每行之前追加“行号:”将读取的内容输出到指定文件和控制台。
时间: 2024-01-21 20:18:33 浏览: 72
以下是一个Java程序,它可以读取当前正在编辑的Java源程序文件,并在每行之前添加行号。然后,将结果输出到指定的文件和控制台。
```java
import java.io.*;
public class AddLineNumbers {
public static void main(String[] args) throws IOException {
// 获取当前正在编辑的Java源程序文件名
String fileName = System.getProperty("java.class.path");
int pos = fileName.lastIndexOf(File.pathSeparator);
if (pos >= 0) {
fileName = fileName.substring(pos + 1);
}
fileName = fileName.replaceAll("\\.class$", ".java");
// 打开输入文件和输出文件
BufferedReader reader = new BufferedReader(new FileReader(fileName));
PrintWriter writer = new PrintWriter(new FileWriter("output.txt"));
// 读取每一行并在前面添加行号
int lineNumber = 1;
String line;
while ((line = reader.readLine()) != null) {
writer.printf("%d: %s%n", lineNumber, line);
System.out.printf("%d: %s%n", lineNumber, line);
lineNumber++;
}
// 关闭输入文件和输出文件
reader.close();
writer.close();
}
}
```
这个程序使用 `BufferedReader` 类来读取源程序文件的每一行,并使用 `PrintWriter` 类来输出每一行和行号。程序首先获取当前正在编辑的Java源程序文件名,然后打开输入文件和输出文件。在读取每一行之前,程序会先打印出行号,并将结果输出到指定的文件和控制台。最后,程序关闭输入文件和输出文件。
阅读全文