考慮到每行都有一個字串的檔案,我想創建一個陣列,將檔案的每一行作為陣列的一個元素。我知道我可以這樣做:
import scala.io.Source
val path: String = "path/to/text/file.txt"
var array: Array[String] = new Array[String](0)
for (line <- Source.fromFile(path).getLines) {
array : = line
}
但它很長,而且可能不是很理想。我在網上查看并沒有找到任何更好的方法。您是否有更好的方法來使用我可能錯過或使用的 Array 內置方法map或其他任何方法來創建此類陣列?
謝謝。
uj5u.com熱心網友回復:
在@TheFourthBird 的回答之上:
在您的代碼中,您沒有關閉檔案。這對于短程式來說可能沒問題,但在長期行程中,您應該明確關閉它。
這可以通過以下方式實作:
import scala.io.Source
import scala.util.{Try, Using}
val path: String = "path/to/text/file.txt"
val tryLines: Try[Array[String]] = Using(Source.fromFile(path))(_.getLines.toArray)
請參閱使用 scala.io.Source 的正確方法是什么?
uj5u.com熱心網友回復:
使用 getLines 回傳一個迭代,您可以從中使用 toArray
val path: String = "path/to/text/file.txt"
val array: Array[String] = Source.fromFile(path).getLines.toArray
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/397320.html
上一篇:發現nil時將默認值添加到陣列
