把当前位置下的文件book.txt信息用字符文件输入流输入到字符的输入缓冲流,再按行读取后在控制台显示,同时在读出行的后面添加自己的名字,通过字符输出缓冲流和字符文件输出流输出到本地文件newbook.txt中
时间: 2024-03-08 13:50:22 浏览: 35
好的,我来为您解答。以下是Java的代码实现:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
// 1. 创建字符文件输入流
FileReader fr = new FileReader("book.txt");
// 2. 创建字符输入缓冲流
BufferedReader br = new BufferedReader(fr);
// 3. 创建字符输出缓冲流
BufferedWriter bw = new BufferedWriter(new FileWriter("newbook.txt"));
// 4. 按行读取并输出
String line;
while ((line = br.readLine()) != null) {
System.out.println(line + " - by AssistAI");
// 5. 写入到输出缓冲流
bw.write(line + " - by AssistAI");
bw.newLine();
}
// 6. 关闭流
br.close();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在代码中,我创建了一个字符文件输入流 `FileReader`,并将其传递给一个字符输入缓冲流 `BufferedReader`。然后,我创建了一个字符输出缓冲流 `BufferedWriter`,它链接到一个字符文件输出流 `FileWriter`,将输出写入到 `newbook.txt` 文件中。
在 while 循环中,我使用 `readLine()` 方法按行读取文件内容,并将其输出到控制台,并在行末添加了“- by AssistAI”。然后将该行写入到 `BufferedWriter` 中,并使用 `newLine()` 方法添加一个换行符。
最后,我在 `try` 块中关闭了所有的流,以确保资源被正确释放。