Как добавить файл в Scala? - PullRequest
19 голосов
/ 29 июля 2011

Я хотел бы написать метод, подобный следующему

def appendFile(fileName: String, line: String) = {
}

Но я не уверен, как конкретизировать реализацию.Еще один вопрос, который здесь упоминается, касается возможностей Scala 2.9, но я не смог найти более подробную информацию.

Ответы [ 3 ]

37 голосов
/ 29 июля 2011

В настоящее время нет никакой специфичной для скалы реализации IO, хотя я понимаю, что , написанная Джесси Эйхаром , находится в стадии инкубации. Я не уверен, в какой степени это использует новый File (путь) API в JDK7. Из-за этого, сейчас я бы пошел с простой Java:

val fw = new FileWriter("test.txt", true)
try {
  fw.write( /* your stuff */)
}
finally fw.close() 
12 голосов
/ 22 мая 2015

Вопрос старый, так же как и ответы. Я нахожу этот способ проще:

scala.tools.nsc.io.File("filename").writeAll("hello world")

или

scala.tools.nsc.io.File("filename").appendAll("hello world")

или

scala.tools.nsc.io.Path("/path/to/file").createFile().appendAll("hello world")

Конечно, для большей краткости вы можете импортировать пакет scala.tools.nsc.io и не повторять его в своем коде. Преимущество использования этого пакета в том, что вам не нужно добавлять какие-либо внешние зависимости / библиотеки (в отличие от scala.io.file (Scalax) или Apache Commons, например).

Кредиты: зал Гаретта, см. это .

7 голосов
/ 29 июля 2011
val fw = new FileWriter("test.txt", true) ; 
fw.write("This line appended to file!") ; 
fw.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...