获取根目录内容
Getting root directory contents
我有一个应用程序,其数据(由以前的开发人员)存储在基于用户的目录中:context.getDir(userLoginHash, Context.MODE_PRIVATE)
。并且没有用户列表 - 当用户登录应用程序时尝试加载其目录的内容(或创建新目录),当用户注销时目录仍保留在设备上。
现在我不想清理数据。所以我需要获取此类文件夹的列表,但没有找到相应的方法。这让我很困惑,因为任务看起来太明显了。我想念什么吗?我该怎么做?
So I need to get list of such folders, but didn't find method for that
没有什么真正内置的。
How can I do this?
开始于:
File motherOfAllUserDirectoriesAndOtherStuff = getDir("whatever", Context.MODE_PRIVATE).getParentFile();
您可以使用标准 Java I/O(例如 listFiles()
)遍历 motherOfAllUserDirectoriesAndOtherStuff
的所有内容。但是,请记住,并非 motherOfAllUserDirectoriesAndOtherStuff
中的所有内容都是您的用户目录。 SharedPreferences
、数据库、其他文件等也会在里面。您将需要设计一种算法来确定 motherOfAllUserDirectoriesAndOtherStuff
的子目录是否是您的用户目录之一,也许是基于散列的样子。
如果有一天你能重写它,创建你自己的根目录并将用户目录放在那里。 IOW:
File userDir = new File(getDir("myAppRoot", Context.MODE_PRIVATE), userLoginHash);
我有一个应用程序,其数据(由以前的开发人员)存储在基于用户的目录中:context.getDir(userLoginHash, Context.MODE_PRIVATE)
。并且没有用户列表 - 当用户登录应用程序时尝试加载其目录的内容(或创建新目录),当用户注销时目录仍保留在设备上。
现在我不想清理数据。所以我需要获取此类文件夹的列表,但没有找到相应的方法。这让我很困惑,因为任务看起来太明显了。我想念什么吗?我该怎么做?
So I need to get list of such folders, but didn't find method for that
没有什么真正内置的。
How can I do this?
开始于:
File motherOfAllUserDirectoriesAndOtherStuff = getDir("whatever", Context.MODE_PRIVATE).getParentFile();
您可以使用标准 Java I/O(例如 listFiles()
)遍历 motherOfAllUserDirectoriesAndOtherStuff
的所有内容。但是,请记住,并非 motherOfAllUserDirectoriesAndOtherStuff
中的所有内容都是您的用户目录。 SharedPreferences
、数据库、其他文件等也会在里面。您将需要设计一种算法来确定 motherOfAllUserDirectoriesAndOtherStuff
的子目录是否是您的用户目录之一,也许是基于散列的样子。
如果有一天你能重写它,创建你自己的根目录并将用户目录放在那里。 IOW:
File userDir = new File(getDir("myAppRoot", Context.MODE_PRIVATE), userLoginHash);