获取根目录内容

时间:2019-02-11 11:48:58

标签: android directory-structure file-management

我有一个应用程序,其数据(由以前的开发人员)存储在基于用户的目录中:context.getDir(userLoginHash, Context.MODE_PRIVATE)。而且没有用户列表-当用户登录应用程序尝试加载其目录的内容(或创建新目录)时,当用户注销应用程序时,目录仍保留在设备上。

现在我不想清理数据。因此,我需要获取此类文件夹的列表,但没有找到用于该文件夹的方法。这让我很困惑,因为任务看起来太明显了。我想念什么吗?我该怎么办?

1 个答案:

答案 0 :(得分:2)

  

所以我需要获取此类文件夹的列表,但没有找到用于该文件夹的方法

并没有真正内置的东西。

  

我该怎么做?

开始于:

File motherOfAllUserDirectoriesAndOtherStuff = getDir("whatever", Context.MODE_PRIVATE).getParentFile();

您可以使用标准Java I / O(例如,motherOfAllUserDirectoriesAndOtherStuff)遍历listFiles()的所有内容。但是,请记住,并非motherOfAllUserDirectoriesAndOtherStuff中的所有内容都是您的用户目录。 SharedPreferences,数据库,其他文件等也将在其中。您将需要设计一种算法,该算法可以确定motherOfAllUserDirectoriesAndOtherStuff的子目录是否是您的用户目录之一,也许基于散列的样子。

如果有一天可以重写它,请创建您自己的根目录并将用户目录放在其中。爱荷华州:

File userDir = new File(getDir("myAppRoot", Context.MODE_PRIVATE), userLoginHash);