如何在没有外部依赖的情况下从类路径读取文件?
Scala 中是否有一个单行代码可以从类路径读取文件而不使用外部依赖项(例如 commons-io)?
IOUtils.toString(getClass.getClassLoader.getResourceAsStream("file.xml"), "UTF-8")
Is there a one-liner in Scala to read a file from classpath without using external dependencies, e.g. commons-io?
IOUtils.toString(getClass.getClassLoader.getResourceAsStream("file.xml"), "UTF-8")
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果要确保文件已关闭:
If you want to ensure that the file is closed:
如果文件位于资源文件夹中(那么它将位于类路径的根目录中),则应该使用位于类路径的根目录中的 Loader 类。
如果你想获取内容(在 scala 2.11 中),这是代码行:
在 Scala 的其他版本中,源类可能位于其他类路径中
如果你只想获取资源:
If the file is in the resource folder (then it will be in the root of the class path), you should use the Loader class that it is too in the root of the class path.
This is the code line if you want to get the content (in scala 2.11):
In other versions of Scala, Source class could be in other classpath
If you only want to get the Resource:
只是一个更新,使用 Scala 2.13 可以做这样的事情:
希望它可以帮助某人。
Just an update, with Scala 2.13 it is possible to do something like this:
Hope it might help someone.
在 在 Scala 中读取整个文件? 中,@daniel-spiewak 提出了一种有点不同的方法,我个人比 @dacwe 的响应更喜欢这种方法。
但我想知道它是否仍然是一句台词?
In Read entire file in Scala? @daniel-spiewak proposed a bit different approach which I personally like better than the @dacwe's response.
I however wonder whether or not it's still a one-liner?