Kotlin 如何将文件移动到其他目录?

zer*_*erk 1 kotlin

假设我有以下文件层次结构:

  • C:\Users\sanpleuser\Downloads > test.txt

  • C:\用户\示例用户\文档

我想要实现的是将 test.txt 文件从下载移动到文档。

有人可以帮我解决这个问题吗?

Loo*_*oki 11

Kotlin 为 Java 的File:提供了一个扩展函数File.copyTo(target: File),但遗憾的是没有File.moveTo(target: File). 如果你只使用小文件,你可以只使用复制功能

您可以使用以下代码非常简单地完成此操作:

File("C:/Users/sampleuser/Downloads/test.txt").let { sourceFile ->
    sourceFile.copyTo(File("C:/Users/sampleuser/Documents/test.txt"))
    sourceFile.delete()
}
Run Code Online (Sandbox Code Playgroud)

或者,如果您需要移动它,我们可以使用 Java 的nio

val sourcePath = Paths.get("C:/Users/sampleuser/Downloads/test.txt")
val targetPath = Paths.get("C:/Users/sampleuser/Documents/test.txt")
Files.move(sourcePath, targetPath, StandardCopyOption.REPLACE_EXISTING)
Run Code Online (Sandbox Code Playgroud)

  • 您还可以调用 sourceFile.renameTo(newPath) (2认同)