簡體   English   中英

BufferedWriter.newLine()未在新行中寫入

[英]BufferedWriter.newLine() not writing in new line

好吧,要直截了當,我已經編寫了一個簡單的應用程序,在該應用程序中,它獲取經過的文件第一行的字符串,然后將其記錄到txt文件中的所有字符串記錄下來,但是當它到達時記錄它只是繼續用其他文件中的新字符串替換自己。

我希望它記錄它獲取的字符串,然后從另一行的新文件中寫入新的字符串,但是我似乎無法使其正常工作。

對於任何可以幫助我解決此問題的人,我將非常感激。

public static void main(String[] args) throws Exception {
    File dir = new File("C://Users//Test//Desktop//lists");
    if (dir.isDirectory()) {
        for (File file : dir.listFiles()) {
            String line1 = Files.readAllLines(Paths.get(file.getAbsolutePath())).get(0);
            BufferedWriter writer = new BufferedWriter(new FileWriter("C://Users//Test//Desktop//logged.txt"));
            writer.write(line1);
            writer.newLine();
            writer.close();
        }
    }
}

newwriter每次。 for之前添加new行。

public static void main(String[] args) throws Exception {
    File dir = new File("C://Users//Test//Desktop//lists");
    if (dir.isDirectory()) {
    BufferedWriter writer = new BufferedWriter(new FileWriter("C://Users//Test//Desktop//logged.txt"));
        for (File file : dir.listFiles()) {
            String line1 = Files.readAllLines(Paths.get(file.getAbsolutePath())).get(0);
            writer.write(line1);
            writer.newLine();
        }
            writer.close();
    }
}

您將在文本循環的每次迭代中重新打開文件logged.txt 這將截斷文件並從頭開始重新寫入。 如果確實要重新打開文件,則需要使用附加模式: FileWriter("filename.txt", true) ,但是您可能想在循環之前打開BufferedWriter然后再將其關閉。

注意 :您必須在for循環之外打開和關閉writer對象。

嘗試這個

public static void main(String[] args) throws Exception {
    File dir = new File("C://Users//Test//Desktop//lists");

    if (dir.isDirectory()) {
        BufferedWriter writer = new BufferedWriter(new FileWriter("C://Users//Test//Desktop//logged.txt"));

        for (File file : dir.listFiles()) {
            String line1 = Files.readAllLines(Paths.get(file.getAbsolutePath())).get(0);
            writer.write(line1);
            writer.newLine();
        }
        writer.close();

    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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