如何在Android中列出所有存储(内部和外部)和绝对路径?

时间:2016-06-06 02:36:00

标签: android

我的minSdkVersion是16,我希望获得所有存储(包括内部和外部)和绝对路径。

绝对路径可能就像/ storage / sdcard0 /,我该怎么办?谢谢!

1 个答案:

答案 0 :(得分:1)

您可以阅读内核导出文件/proc/mounts以获取设备上已安装文件系统的完整列表。 /proc/mounts的秒列是已安装的点。

BufferedReader reader = null;
try {
    reader = new BufferedReader(new InputStreamReader(new FileInputStream("/proc/mounts")));
    List<String> mountPoints = new ArrayList<>();
    String l;
    while ((l = reader.readLine()) != null) {
        String p = l.split("\\s+")[1];
        if (p != null && p.startsWith(File.separator)) {
            mountPoints.add(p);
        }
    }

    Log.d(TAG, "all mount absolute points " + Arrays.toString(mountPoints.toArray()));
} catch (IOException e) {
    e.printStackTrace();
} finally {
    if (reader != null) {
        try {
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}