我想追加到一個文件,我首先要刪除最後一行,然後開始追加。但是,我無法確定如何刪除文件的最後一行。如何在scala中刪除文件的最後一行?
我追加如下文件:
val fw = new FileWriter("src/file.txt", true) ;
fw.write("new item");
任何人可以幫我嗎?
編輯:
val lines_list = Source.fromFile("src/file.txt").getLines().toList
val new_lines = lines_list.dropRight(1)
val pw = new PrintWriter(new File("src/file.txt"))
(t).foreach(pw.write) pw.write("\n")
pw.close()
下你的方法,我試圖寫回文件,但我這樣做的時候,所有的內容,到最後一行刪不過來,在單行線,後我希望他們分開來。
你不能只刪除文件中的最後一行。您必須創建沒有最後一行的新文件。或者使用FileChannel:https://docs.oracle.com/javase/tutorial/essential/io/rafs.html – 2014-12-02 18:41:49
我會將文本行加載到列表中,並刪除最後一項,然後開始追加。 – Marcs 2014-12-02 18:47:57
如果你的文件很小 - 確定。但如果它是1GB或更多呢? – 2014-12-02 19:28:06