使用Java的输入输出流将一个文本文件的内容按行读出,没读出一行就顺序添加行号,并写入另一个文件中。要求代码要加注释
时间: 2023-06-19 13:10:02 浏览: 93
Java的输入输出流实现文件的复制
5星 · 资源好评率100%
```java
import java.io.*;
public class AddLineNumberToFile {
public static void main(String[] args) {
try {
// 创建文件输入流对象
FileInputStream fis = new FileInputStream("input.txt");
// 创建文件输出流对象
FileOutputStream fos = new FileOutputStream("output.txt");
// 转换为字符输入流
InputStreamReader isr = new InputStreamReader(fis);
// 添加缓冲
BufferedReader br = new BufferedReader(isr);
// 定义行号初始值
int lineNumber = 1;
String line = null;
// 按行读取文件内容
while ((line = br.readLine()) != null) {
// 添加行号并写入输出文件
String content = lineNumber + ": " + line + "\n";
fos.write(content.getBytes());
// 行号自增
lineNumber++;
}
// 关闭文件流
fos.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
注释:
1. 创建文件输入流对象:使用 `FileInputStream` 类创建文件输入流对象,用于读取源文件内容。
2. 创建文件输出流对象:使用 `FileOutputStream` 类创建文件输出流对象,用于向目标文件中写入内容。
3. 转换为字符输入流:使用 `InputStreamReader` 类将文件输入流对象转换为字符输入流。
4. 添加缓冲:使用 `BufferedReader` 类将字符输入流对象添加缓冲,提高读取文件内容的效率。
5. 定义行号初始值:定义一个整型变量 `lineNumber`,初始值为 1,用于添加行号。
6. 按行读取文件内容:使用 `BufferedReader` 类的 `readLine()` 方法按行读取文件内容。
7. 添加行号并写入输出文件:将读取的一行内容添加行号,并写入目标文件中。
8. 行号自增:每写入一行内容,行号自增。
9. 关闭文件流:使用 `close()` 方法关闭文件流对象,释放资源。
阅读全文