Android File.mkdirs更改Context.getFilesDir

时间:2019-07-07 01:39:43

标签: android file mkdirs

这是一个android问题。调用File.mkdirs可以更改Context.getFilesDir的值。因为我没有调查所有测试用例,所以我以这种方式说明了问题。我对这个结果感到非常惊讶,并进行了一次简单的测试,证实了这一行为。

String filesDir = context.getFilesDir().getAbsolutePath();
File newFile = new File(context.getFilesDir,"xxx/MyFile.txt");
newFile.getParentFile().mkdirs();
String newFilesDir = context.getFilesDir().getAbsolutePath();

您将看到filesDir和newFilesDir不相同。调用mkdirs更改了位置。我对这个结果感到惊讶,因为Android文档未提及此行为。外面的每个人都有一些有效的解释,说明为什么会发生这种情况,以及如何处理。我一直在使用getFilesDir作为存储内容的地方,并且我希望将这些内容组织在目录树中,看来您不应该在filesDir中添加目录。

1 个答案:

答案 0 :(得分:0)

通过getFilesDir()mkdirs()命令在应用程序目录中创建一个子目录非常好。在此处了解更多信息:https://developer.android.com/training/data-storage/files