【发布时间】:2019-10-01 04:46:39
【问题描述】:
我在下载目录中有一个文件。我们称它为 OldFile,属于 File 类。
我似乎可以使用OldFile.renameTo(File(some new file path)) 将它移动到任何我喜欢的地方,除非新文件路径位于从context.filesDir 获得的应用程序的私有文件目录中。
这个 Kotlin sn-p 可以工作,例如:
val newFileLocation = File(Environment.getExternalStorageDirectory().absolutePath + "/test.txt")
oldFile.renameTo(newFileLocation)
但是这个 sn-p 静默失败,不抛出异常,让oldFile 完全不变:
val newFileLocation = File(context?.filesDir?.absolutePath + "/test.txt")
oldFile.renameTo(newFileLocation)
是否有一些规则禁止使用 File.renameTo 将文件移动到 filesDir 路径中?
我该怎么做呢?
谢谢
约翰
【问题讨论】:
-
如果所有其他方法都失败 - 将文件作为二进制数据读取,将其作为二进制数据写入您想要的位置,然后删除原始数据。
标签: android kotlin android-file