java编程:在D盘下,有一c.txt 文件中内容为:HelloWorld 在c.txt文件原内容基础上,添加五句 I love java,而且要实现一句一行操作(注:原文不可覆盖)。 利用字节输出流对象往C盘下c.txt文件输出5句:”i love java”
时间: 2024-10-22 07:24:32 浏览: 26
在Java中,你可以使用FileInputStream、BufferedReader以及PrintWriter来实现这个需求。首先,你需要创建一个新的PrintWriter对象,并指定目标文件路径,然后逐行读取原有文件的内容并追加新的内容。以下是具体的步骤:
```java
import java.io.*;
public class AppendToTextFile {
public static void main(String[] args) {
try {
// 定义源文件和目标文件路径
String sourceFilePath = "D:\\c.txt";
String targetFilePath = "D:\\c.txt"; // 同一目录下操作,不需要额外的路径信息
// 创建PrintWriter对象用于追加写入
PrintWriter writer = new PrintWriter(targetFilePath, true);
// 新的文本行
String lineToAppend = "I love java\n";
// 打开源文件进行读取
BufferedReader reader = new BufferedReader(new FileReader(sourceFilePath));
String currentLine;
while ((currentLine = reader.readLine()) != null) {
// 如果是原始的第一行,则直接写入新行
if (currentLine.isEmpty()) {
writer.println(lineToAppend);
} else {
// 其他非空行则写入现有内容后换行再追加
writer.print(currentLine);
writer.println();
writer.println(lineToAppend);
}
}
// 关闭文件流
reader.close();
writer.close();
System.out.println("新的内容已成功追加到文件中");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
注意这里`true`作为PrintWriter的第二个构造参数表示追加模式(`append`). 如果你想覆盖原有文件,可以去掉这参数。
阅读全文