在Android中,可以将文件移动到应用程序的私有目录中吗?
In Android, can a file be moved to inside the app's private directory?
我在下载目录中有一个文件。我们称它为文件 class.
的 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() 仅适用于同一 'partition' 上的文件。
显然 getFilesDir() 在不同的分区上。
我在下载目录中有一个文件。我们称它为文件 class.
的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() 仅适用于同一 'partition' 上的文件。
显然 getFilesDir() 在不同的分区上。