首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Scala:在一条语句中将字符串写入文件

Scala:在一条语句中将字符串写入文件
EN

Stack Overflow用户
提问于 2011-07-30 05:54:01
回答 16查看 127K关注 0票数 163

要在Scala中读取文件,有

代码语言:javascript
复制
Source.fromFile("file.txt").mkString

有没有一种等价而简洁的方法将字符串写到文件中?

大多数语言都支持这样的东西。我最喜欢的是Groovy:

代码语言:javascript
复制
def f = new File("file.txt")
// Read
def s = f.text
// Write
f.text = "file contents"

我想在程序中使用代码,范围从一行代码到一小页代码。在这里,必须使用自己的库是没有意义的。我希望一门现代语言能让我方便地将一些东西写到一个文件中。

有类似的帖子,但他们没有回答我的确切问题,或者专注于较旧的Scala版本。

例如:

在Scala中读取整个文件?

如何在Scala中写入文件?

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2015-06-01 23:45:05

简明扼要的一句话:

代码语言:javascript
复制
import java.io.PrintWriter
new PrintWriter("filename") { write("file contents"); close }
票数 86
EN

Stack Overflow用户

发布于 2014-05-29 00:33:02

奇怪的是,没有人建议NIO.2操作(从Java 7开始提供):

代码语言:javascript
复制
import java.nio.file.{Paths, Files}
import java.nio.charset.StandardCharsets

Files.write(Paths.get("file.txt"), "file contents".getBytes(StandardCharsets.UTF_8))

我认为这是到目前为止最简单、最容易、最地道的方法,而且它不需要Java本身的任何依赖。

票数 179
EN

Stack Overflow用户

发布于 2013-02-12 04:07:53

下面是一个使用reflect.io.file的简洁的一行代码,它适用于Scala2.12:

代码语言:javascript
复制
reflect.io.File("filename").writeAll("hello world")

或者,如果你想使用Java库,你可以这样做:

代码语言:javascript
复制
Some(new PrintWriter("filename")).foreach{p => p.write("hello world"); p.close}
票数 84
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6879427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档