簡體   English   中英

使用BufferedReader和FileWriter附加行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM