如何在 Android 设备中找到所有只读存储?
Posted
技术标签:
【中文标题】如何在 Android 设备中找到所有只读存储?【英文标题】:How to find all read Only Storage in Android devices? 【发布时间】:2015-07-07 07:29:49 【问题描述】:我为我糟糕的英语语法道歉。
我想知道android设备是否在同一设备中同时具有只读和读/写存储?
如果是,如何获取只读存储目录。
String path = Environment.getExternalStorageDirectory().toString();
使用此代码可以检索主存储设备的路径。
其实我想做的,获取内部和外部存储的所有目录,并检查它们是只准备好还是分别读/写..
是否可以找到所有目录并检查是否可写?
【问题讨论】:
【参考方案1】:如果 SD 卡是可读的,您可以通过简单的方式检索所有文件和文件夹:
String sdPath = Environment.getExternalStorageDirectory().getAbsolutePath();
然后轻松获取文件列表:
File sdFile = new File(sdPath);
File fileList[] = sdFile.listFiles();
获取列表后,您可以检查文件是否可读、可写或两者兼而有之。此外,如果它是一个文件或目录,如果它是一个目录,请继续搜索该目录以查找可读/可写文件。小例子:
for(int i=0;i<fileList.length;i++)
File fileListFile = fileList[i];
boolean isReadable = fileListFile.canRead();
boolean isWritable = fileListFile.canWrite();
boolean isDir = fileListFile.isDirectory();
这只是一个可以引导您走向正确方向的示例。如果您想列出可读/可写文件或目录,还有更多工作要做。
【讨论】:
感谢您的帮助。但它只返回 sdcard0 中的文件 .. 我怎样才能获得子文件夹中的所有文件 如果我理解你的正确方式,使用 getFilesDir() 而不是 getExternalStorageDirectory()..以上是关于如何在 Android 设备中找到所有只读存储?的主要内容,如果未能解决你的问题,请参考以下文章
如何获取 .apk 文件详细信息(如:名称、id、vercode ..etc)存储在 android 设备的外部存储中
如何找到并清除所有Android设备上的SQLite数据库文件呢?