3 回答

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
val lines = scala.io.Source.fromFile("file.txt").mkString
順便說(shuō)一下,“ scala.”并不是真正必要的,因?yàn)樗冀K處于作用域內(nèi),并且您當(dāng)然可以全部或部分導(dǎo)入io的內(nèi)容,而不必在前面加上“ io”。太。
上面的命令使文件保持打開狀態(tài)。為了避免出現(xiàn)問(wèn)題,您應(yīng)該像這樣關(guān)閉它:
val source = scala.io.Source.fromFile("file.txt")
val lines = try source.mkString finally source.close()
上面的代碼的另一個(gè)問(wèn)題是,由于其實(shí)現(xiàn)的本質(zhì),它的速度太慢了。對(duì)于較大的文件,應(yīng)使用:
source.getLines mkString "\n"

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
這在scala 2.9中可能也不起作用,也許在2.8中也不行)
使用中繼線:
scala> io.File("/etc/passwd").slurp
res0: String =
##
# User Database
#
... etc
添加回答
舉報(bào)