2016-03-05 28 views
0

在Scala中,我有大陣叫linesArray[String]類型而我試圖打印到像這樣的文件:並非所有的數組的內容寫入到文件

val pw = new PrintWriter(new File("gene_test.counts")) 
pw.write(lines.mkString("\n")) 

然而,並非所有的內容被寫入文件。我調試了程序,看起來最後100行左右沒有打印。

爲什麼會發生這種情況,我怎樣才能讓整個陣列被打印?

+0

這是所有的代碼?你能製作一個完整的樣本來顯示這個問題嗎? (我們可以推測會產生大量的測試數據 - 線條有多大?)。它只發生在大陣列上嗎?你是否調用了'checkError'來查看是否有任何錯誤? (例如,你的磁盤空間不足) –

+0

你是否嘗試過使用不同的文件?這是否仍然發生? – mfirry

回答

2

要確保一切都寫,你可以flush作家

val pw = new PrintWriter(new File("gene_test.counts")) 
pw.write(lines.mkString("\n")) 
pw.flush() 

另一件事要記住的是closefilewriter

更短的解決辦法是

import scala.tools.nsc.io.File 
File("fgene_test.counts").writeAll(lines mkString "\n") 
相關問題