如何在Android设备中找到所有只读存储?

时间:2015-04-28 12:29:21

标签: android file-permissions android-permissions android-external-storage internal-storage

我为我糟糕的英语语法道歉。

我想知道Android设备是否同时具有只读和读/写存储?

如果是,如何获取readOnly Storage目录。

String path = Environment.getExternalStorageDirectory().toString();

使用此代码可以检索主存储设备的路径。

实际上我想这样做,获取内部和外部存储的所有目录,并检查它们是仅准备就绪还是单独读/写..

是否可以找到所有目录并检查是否可写?

1 个答案:

答案 0 :(得分: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();

}

这只是一个可以引导你走向正确方向的例子。如果要列出可读/可写文件或目录,还有更多工作要做。