Scala 工具包

如何写入文件?

语言

你可以在一行中要求整个工具包

//> using toolkit latest

或者,你只需要求 OS-Lib 的特定版本

//> using dep com.lihaoyi::os-lib:0.9.1

在你的 build.sbt 中,你可以添加对工具包的依赖

lazy val example = project.in(file("example"))
  .settings(
    scalaVersion := "3.2.2",
    libraryDependencies += "org.scala-lang" %% "toolkit" % "0.1.7"
  )

或者,你只需要求 OS-Lib 的特定版本

libraryDependencies += "com.lihaoyi" %% "os-lib" % "0.9.1"

在你的 build.sc 文件中,你可以添加对工具包的依赖

object example extends ScalaModule {
  def scalaVersion = "3.2.2"
  def ivyDeps =
    Agg(
      ivy"org.scala-lang::toolkit:0.1.7"
    )
}

或者,你只需要求 OS-Lib 的特定版本

ivy"com.lihaoyi::os-lib:0.9.1"

一次性写入文件

os.write 将提供的字符串写入新文件

val path: os.Path = os.temp.dir() / "output.txt"
os.write(path, "hello\nthere\n")
println(os.read.lines(path).size)
// prints: 2

覆盖或追加

os.write 如果文件已存在,则会抛出异常

os.write(path, "this will fail")
// this exception is thrown:
// java.nio.file.FileAlreadyExistsException

为避免这种情况,请使用 os.write.over 替换现有内容。

您还可以使用 os.write.append 在末尾添加更多内容

os.write.append(path, "two more\nlines\n")
println(os.read.lines(path).size)
// prints: 4

此页面的贡献者