使用 Kotlin 多平台进行文件 IO

For*_* O. 13 kotlin kotlin-native kotlin-multiplatform

我想在 mingwX64 Windows(可能还有其他平台)上执行一些基本的文件系统操作:打开、关闭、读取、重命名、获取元数据、列出目录中的文件。

我找到了一个承诺实现此功能的项目:KotlinxIO。然而,多年来并没有取得任何进展。

还有其他替代方案或解决方法吗?

For*_* O. 8

最后,我使用了Korio库。文档可能会更好,但我需要的所有功能都是针对所有平台(Jvm、桌面、Android 等)实现的:

import com.soywiz.korio.file.std.*

suspend fun main {
  val cwd = localCurrentDirVfs
  val files = cwd.list()
  cwd["Hello.txt"].open().close()
  cwd["Hello.txt"].renameTo("Hi.txt")
  val metadata = cwd["Hi.txt"].stat()
}
Run Code Online (Sandbox Code Playgroud)

最重要的是,它允许使用相同的 API 来访问在线文件、zip 存档等,这非常简洁。


Kev*_*gan 6

您可能想看看 OKIO。有一些多平台支持和 Windows 目标,但我不知道文件系统部分是否在 Windows 上实现:https: //github.com/square/okio