要在Scala中读取文件,有
Source.fromFile("file.txt").mkString
有没有一种等价而简洁的方法将字符串写到文件中?
大多数语言都支持这样的东西。我最喜欢的是Groovy:
def f = new File("file.txt")
// Read
def s = f.text
// Write
f.text = "file contents"
我想在程序中使用代码,范围从一行代码到一小页代码。在这里,必须使用自己的库是没有意义的。我希望一门现代语言能让我方便地将一些东西写到一个文件中。
有类似的帖子,但他们没有回答我的确切问题,或者专注于较旧的Scala版本。
例如:
在Scala中读取整个文件?
如何在Scala中写入文件?
发布于 2015-06-01 23:45:05
简明扼要的一句话:
import java.io.PrintWriter
new PrintWriter("filename") { write("file contents"); close }
发布于 2014-05-29 00:33:02
奇怪的是,没有人建议NIO.2操作(从Java 7开始提供):
import java.nio.file.{Paths, Files}
import java.nio.charset.StandardCharsets
Files.write(Paths.get("file.txt"), "file contents".getBytes(StandardCharsets.UTF_8))
我认为这是到目前为止最简单、最容易、最地道的方法,而且它不需要Java本身的任何依赖。
发布于 2013-02-12 04:07:53
下面是一个使用reflect.io.file的简洁的一行代码,它适用于Scala2.12:
reflect.io.File("filename").writeAll("hello world")
或者,如果你想使用Java库,你可以这样做:
Some(new PrintWriter("filename")).foreach{p => p.write("hello world"); p.close}
https://stackoverflow.com/questions/6879427
复制相似问题