在該程序中,您將學(xué)習(xí)將文本附加到Kotlin中現(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 fun main(args: Array<String>) { val path = System.getProperty("user.dir") + "\\src\\test.txt" val text = "Added text" try { Files.write(Paths.get(path), text.toByteArray(), StandardOpenOption.APPEND) } catch (e: IOException) { } }
運行該程序時,test.txt文件現(xiàn)在包含:
This is a Test file.Added text
在上面的程序中,我們使用System的user.dir屬性來獲取存儲在變量 path 中的當(dāng)前目錄。查看Kotlin程序以獲取當(dāng)前目錄以獲取更多信息。
同樣,要添加的文本也存儲在變量 text 中。然后,在一個try-catch塊中,我們使用Files的 write()方法將文本追加到現(xiàn)有文件中。
write()方法采用給定文件的路徑,要寫入的文本以及應(yīng)如何打開該文件進行寫入。在我們的實例中,我們使用APPEND選項進行寫入。
由于write()方法可能返回IOException,因此我們使用一個try-catch塊來正確捕獲異常。
import java.io.FileWriter import java.io.IOException fun main(args: Array<String>) { val path = System.getProperty("user.dir") + "\\src\\test.txt" val text = "Added text" try { val fw = FileWriter(path, true) fw.write(text) fw.close() } catch (e: IOException) { } }
該程序的輸出與示例1相同。
在上面的程序中,我們沒有使用write()方法,而是使用FileWriter的實例(對象)將文本追加到現(xiàn)有文件中。
在創(chuàng)建FileWriter對象時,我們傳遞文件的路徑,true作為第二個參數(shù)。true表示允許追加文件。
然后,我們使用write()方法追加給定的文本并關(guān)閉文件寫入器。
這是等效的Java代碼:將文本追加到現(xiàn)有文件的Java程序。