如何读取设备中的所有文件和目录?

时间:2018-01-29 10:05:15

标签: android file permissions directory

是否可以开发一个可以读取设备内存中所有文件和目录的Java应用程序?我认为这是不可能的(出于安全原因),但我需要另一种意见。

1 个答案:

答案 0 :(得分:0)

你可以这样做。 可能会帮助你。

我将路径设备存储

如果您正在使用android studio或类似的vise工具将调试点放在

旁边
 File[] dir = new File(path).listFiles();

,您将看到文件/文件夹层次结构。

path = Environment.getExternalStorageDirectory().toString()

public static ArrayList<String> listFoldersAndFilesFromSDCard(String path) {
        ArrayList<String> arrayListFolders = new ArrayList<String>();

        try {
            File[] dir = new File(path).listFiles();
            // here dir will give you list of folder/file in hierarchy 

            if (null != dir && dir.length > 0) {
                for (int i = 0; i < dir.length; i++) {
                    if (dir[i].isDirectory()) {
                        arrayListFolders.add(new File(dir[i].toString()).getName());
                        // Here you can call recursively this function for file/folder hierarchy 
                    } else{
                            // do what ever you want with files
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();

        }
        return arrayListFolders;
    }