我在下载目录中有一个文件。我们将其称为File类的OldFile
。
我似乎将其移动到我喜欢使用OldFile.renameTo(File(some new file path))
的任何位置,除非新文件路径位于从context.filesDir
获得的应用程序的私有文件目录中。
例如,此Kotlin代码段有效:
val newFileLocation = File(Environment.getExternalStorageDirectory().absolutePath + "/test.txt")
oldFile.renameTo(newFileLocation)
但是此代码段无提示地失败,不引发任何异常,使oldFile
完全不变:
val newFileLocation = File(context?.filesDir?.absolutePath + "/test.txt")
oldFile.renameTo(newFileLocation)
是否存在一些禁止使用File.renameTo将文件移动到filesDir路径的规则?
我应该怎么做?
感谢
约翰
renameTo()仅适用于相同“分区”上的文件。
显然getFilesDir()在另一个分区上。