如何在Play! 2.0中使用Scala读取文件?

3

我有一个CSV文件。我应该把它放在哪里,如何读取这个文件?


我希望列出images目录中的所有文件,这与https://dev59.com/IWnWa4cB1Zd3GeqP1YV_有关。 - Phil
将输入流转换为文件列表 - blue-sky
4个回答

1

使用io.Source.fromFile("/public/myfile.csv")也适用于类路径之外的文件。

注意:对于公共文件夹的相对路径,应该使用"public/...""./public/...",而不是使用绝对路径"/public/..."

(注意:我没有足够的声望直接回复Luigi Plinge的评论)


1

您可以使用这个Scala包装器来处理opencsv。您可以将文件放在类路径上,然后使用getClass.getResourceAsStream("file.csv")获取一个InputStream


0

最终我把文件放在/public下。

然后使用以下代码进行读取:

import scala.io.Source

val is = Application.getClass().getResourceAsStream("/public/myfile.csv")    
val src = Source.fromInputStream(is)
val iter = src.getLines

1
这个问题是不是简单地使用 val iter = io.Source.fromFile("/public/myfile.csv").getLines 就可以解决? - Luigi Plinge
使用 fromFile 给了我 play.api.UnexpectedException: Unexpected exception [FileNotFoundException: /public/myfile.csv (No such file or directory)] - samwize

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接