【问题标题】:How to read a file line by line and close it afterwards in Scala?如何在Scala中逐行读取文件并随后将其关闭?
【发布时间】:2016-03-02 12:53:55
【问题描述】:

通常,他们会告诉你

import scala.io.Source
for(line <- Source.fromPath("myfile.txt").getLines())
  println(line)

这似乎使文件保持打开状态。什么是可关闭的对应物?

【问题讨论】:

    标签: scala readfile line-by-line


    【解决方案1】:

    您可以关闭Source,这将关闭您的文件。

    import scala.io.Source
    
    val source = Source.fromFile("myfile.txt")
    for (line <- source.getLines())
       println(line)
    source.close()
    

    【讨论】:

    • 谢谢,this answer 让我分心了。我一直在想,为什么你们都使用 fromPath 而不是 fromFile?我的编译器说 fromPath is not a member of Source 我必须使用 fromFile 代替。
    • 您也可以关注using approach
    • “为什么你们都使用 fromPath 而不是 fromFile?”你就是其中之一。我刚刚从你的问题中复制了这个。实际上没有这样的方法。我修复了我的答案以使用fromFile
    猜你喜欢
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    • 2012-11-30
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    相关资源
    最近更新 更多