簡體   English   中英

寫入時PrintWriter刪除txt文件的舊內容

[英]PrintWriter deleting old contents of a txt file when writing

因此,可以說我有一個要使用PrintWriter寫入的txt文件。 下列代碼如何在每次調用文件時刪除文件的舊內容?

碼:

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;

public class Test {

    public static void main(String[] args) {
        writeToFile("foo");
        writeToFile("bar");
    }

    public static void writeToFile(String text) {
        try {
            PrintWriter printer = new PrintWriter(new File("myTextFile.txt"));
            printer.println("Your text is:" + text);
            printer.close();
        } catch (FileNotFoundException fnfe) {
            fnfe.printStackTrace();
        }
    }

}

輸出:

Your text is:bar

我猜測這與每次調用該方法時都會創建一個新的PrintWriter或新的File的事實有關,但是在main方法中僅創建一個實例也無法正常工作。

如果要添加到文件的內容,則需要顯式打開文件以進行追加; 大多數語言的默認設置是覆蓋。

為此,請使用new FileWriter("myfile.txt", true) 然后,如果需要,可以將PrintWriter包裝在其周圍。

暫無
暫無

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

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