在Android中,可以将文件移动到应用程序的私有目录中吗?

问题描述 投票:-1回答:1

我在下载目录中有一个文件。我们将其称为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路径的规则?

我应该怎么做?

感谢

约翰

android kotlin android-file
1个回答
1
投票

renameTo()仅适用于相同“分区”上的文件。

显然getFilesDir()在另一个分区上。

© www.soinside.com 2019 - 2024. All rights reserved.