您可以在單一行中要求整個工具組
//> 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
檔案中,您可以新增對 Toolkit 的相依性
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-Lib 中的基本資料類型是 os.Path
,代表檔案系統中的路徑。os.Path
永遠是絕對路徑。
OS-Lib 也提供 os.RelPath
(相對路徑)和 os.SubPath
(無法升至父目錄的相對路徑)。
建立路徑的典型起點是 os.pwd
(目前工作目錄)、os.home
(目前使用者的家目錄)、os.root
(檔案系統的根目錄)或 os.temp.dir()
(新的暫存目錄)。
路徑有一個 /
方法,用於新增路徑區段。例如
val etc: os.Path = os.root / "etc"
讀取目錄
os.list
會傳回目錄的內容
val entries: Seq[os.Path] = os.list(os.root / "etc")
或者,如果我們只想要子目錄
val dirs: Seq[os.Path] = os.list(os.root / "etc").filter(os.isDir)
要遞迴下降整個子樹,請將 os.list
變更為 os.walk
。若要立即處理結果,而不是先將它們全部讀入記憶體,請替換為 os.walk.stream
。
此頁面的貢獻者
內容
- 簡介
- 使用 MUnit 進行測試
- 如何撰寫測試?
- 如何執行測試?
- 如何執行單一測試?
- 如何測試例外狀況?
- 如何撰寫非同步測試?
- 如何管理測試資源?
- MUnit 還有什麼功能?
- 使用 OS-Lib 處理檔案和程序
- 如何讀取目錄?
- 如何讀取檔案?
- 如何寫入檔案?
- 如何執行程序?
- OS-Lib 還有什麼功能?
- 使用 uPickle 處理 JSON
- 如何存取 JSON 內的值?
- 如何修改 JSON?
- 如何將 JSON 反序列化為物件?
- 如何將物件序列化為 JSON?
- 如何讀寫 JSON 檔案?
- uPickle 還有什麼功能?
- 使用 sttp 傳送 HTTP 要求
- 如何傳送要求?
- 如何建構 URI 和查詢參數?
- 如何傳送包含主體的請求?
- 如何傳送和接收 JSON?
- 如何透過 HTTP 上傳檔案?
- sttp 還有什麼功能?