[英]Append Lines using BufferedReader and FileWriter
我正在嘗試解析文件中的代碼,並通過相關修改將其復制到新創建的文件中。
但是,在新文件中,所有出現的都是原始文件的最后一行。
如何確保所有行都復制到新文件中,而不僅僅是最后一行?
注意:我希望每次運行該程序時都可以創建一個新文件,因此此問題與FileWriter構造函數無關,傳遞了“ true”,如下所示
FileWriter fw = new FileWriter(newFile.txt, true);
這是相關的代碼段:
try (BufferedReader bufferedReader = new BufferedReader(new FileReader(args[0]));
FileWriter fileWriter = new FileWriter(myNewFile.txt)) {
while (bufferedReader.readLine() != null) {
String currentLine = bufferedReader.readLine();
fileWriter.write(currentLine);
}
myNewFile.txt僅包含傳遞到BufferedReader的文件的最后一行文本。 我不知道FileWriter類提供的任何附加函數。
謝謝
編輯(解決方案):
該問題是由while循環中currentLine的初始化引起的。 我將其更改為
String currentLine;
while ((currentLine = bufferedReader.readLine()) != null) {
fileWriter.write(currentLine);
}
new FileWriter(myNewFile.txt, true)
這將啟用附加模式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.