【发布时间】:2013-07-16 11:50:22
【问题描述】:
如何在 scala 中创建文件和文件夹并写入它们?我了解它在其他语言中的工作原理,但 Scala 有点棘手:/
这与其他问题不同,因为它还询问如何在 Scala 中创建目录和文件。
【问题讨论】:
-
你知道如何用 Java 做吗?从那里开始应该不会太费力了。
-
在Java中不就是mkdir吗?
标签: scala
如何在 scala 中创建文件和文件夹并写入它们?我了解它在其他语言中的工作原理,但 Scala 有点棘手:/
这与其他问题不同,因为它还询问如何在 Scala 中创建目录和文件。
【问题讨论】:
标签: scala
Paul Phillips 刚刚在 ML 中附加地提到,“我编写了一个库,它对 java.nio.file.Path 进行了一堆包装”,所以你应该等着看他想出了什么。
与此同时,他之前在 java.io 上的工作像躁动的精神一样徘徊,但现在却萦绕在心头:
scala> import reflect.io._
import reflect.io._
scala> val f = File("my-test.txt")
f: scala.reflect.io.File = my-test.txt
scala> f writeAll ("hello", ",", " ", "world", "\n")
scala> :q
apm@mara:~/tmp$ cat my-test.txt
hello, world
还有Path 和Directory 的抽象。
scala> val d = Directory(".")
d: scala.reflect.io.Directory = .
scala> d.list
res0: Iterator[scala.reflect.io.Path] = non-empty iterator
scala> d.deepList()
res2: Iterator[scala.reflect.io.Path] = non-empty iterator
scala> d.deepFiles.toList
res4: List[scala.reflect.io.File] = List(./mkarray.scala, ./for29.scala, ./nofunc-wrapped.scala, ./inlined.scala, ./xmlex.scala, ./pet.scala, ./lookup.scala, ./CompilerTool.scala, ./badvargs.scala, ./tz0.scala, ./discontinuations.jar, ./serious.scala, ./badjunk.scala, ./version.scala, ./shapeless_2.11.jar, ./callbacks.scala, ./delayed.scala, ./privctor0.scala, ./nestedtags.scala, ./hw-repl.scala, ./schema-one.txt, ./tstest.scala, ./badimp.scala, ./matchprim.scala, ./sxemata-all.txt, ./arrow.scala, ./continuations2.jar, ./inliner.scala, ./oneq.scala, ./impmag.scala, ./enumuser.scala, ./auto.save, ./xmlregex.scala, ./strtyp.scala, ./orelse.scala, ./scalac-plugin.xml, ./futuremap.scala, ./applied.save, ./looker.scala, ./pat1, ./sounds.scala, ./shapeless_2.10.jar, ./funkstr.scala, ./stupid....
scala> val p = Path(".")
p: scala.reflect.io.Path = .
scala> val f = p / "mkarray.scala"
f: scala.reflect.io.Path = ./mkarray.scala
【讨论】: