运用适当的输入输出流类,读取当前正在编辑的Java源程序文件,在读取的每行之前追加“行号:”将读取的内容输出到指定文件和控制台。
时间: 2024-03-13 13:44:00 浏览: 11
好的,这是一个比较有趣的问题,我会尽力回答。以下是示例代码:
```java
import java.io.*;
public class LineNumberDemo {
public static void main(String[] args) throws IOException {
// 打开源程序文件和输出文件
BufferedReader reader = new BufferedReader(new FileReader("source.java"));
BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
// 逐行读取源程序文件并输出到控制台和输出文件
String line;
int lineNumber = 1;
while ((line = reader.readLine()) != null) {
String prefix = String.format("%d: ", lineNumber++);
System.out.println(prefix + line);
writer.write(prefix + line);
writer.newLine();
}
// 关闭输入输出流
reader.close();
writer.close();
}
}
```
这个示例程序打开了一个名为source.java的源程序文件和一个名为output.txt的输出文件。程序使用BufferedReader逐行读取源程序文件,同时使用BufferedWriter将读取的内容输出到控制台和输出文件。在每一行之前添加“行号:”可以使用String的format方法实现。在输出到文件时,需要调用BufferedWriter的newLine方法来换行。最后,程序关闭了输入输出流。
这个示例程序中使用了字符流,因为Java源程序文件是文本文件。如果需要读写二进制文件,可以使用字节流。此外,示例程序中没有处理异常,实际应用中需要根据具体情况进行异常处理。