在該程序中,您將學(xué)習(xí)將Java文本追加到現(xiàn)有文件的各種技巧。
在將文本追加到現(xiàn)有文件之前,我們假設(shè)在src文件夾中有一個名為test.txt的文件。
這是test.txt的內(nèi)容
This is a Test file.
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; public class AppendFile { public static void main(String[] args) { String path = System.getProperty("user.dir") + "\\src\\test.txt"; String text = "Added text"; try { Files.write(Paths.get(path), text.getBytes(), StandardOpenOption.APPEND); } catch (IOException e) { } } }
運行程序時,test.txt文件現(xiàn)在包含:
This is a Test file.Added text
在上面的程序中,我們使用System的user.dir屬性來獲取存儲在變量中的當(dāng)前目錄path。檢查Java程序以獲取當(dāng)前目錄以獲取更多信息。
同樣,要添加的文本也存儲在變量text中。然后,在一個try-catch塊內(nèi),我們使用Files的write()方法將文本追加到現(xiàn)有文件中。
write()方法采用給定文件的路徑,寫入文件的文本以及應(yīng)如何打開文件進(jìn)行寫入。 在我們的實例中,我們使用APPEND選項進(jìn)行寫入
由于write()方法可能返回IOException,因此我們使用了一個try-catch塊來正確捕獲異常。
import java.io.FileWriter; import java.io.IOException; public class AppendFile { public static void main(String[] args) { String path = System.getProperty("user.dir") + "\\src\\test.txt"; String text = "Added text"; try { FileWriter fw = new FileWriter(path, true); fw.write(text); fw.close(); } catch(IOException e) { } } }
該程序的輸出與示例1相同。
在上述程序中,我們使用FileWriter的實例(對象)代替文本(而不是使用write()方法)將文本追加到現(xiàn)有文件中
在創(chuàng)建FileWriter對象時,我們傳遞文件的路徑,并將true作為第二個參數(shù)。 true表示我們允許附加文件
然后,我們使用write()方法追加給定的文本并關(guān)閉文件寫入器