美文网首页
Android获取所有sdcard路径

Android获取所有sdcard路径

作者: lewiswon | 来源:发表于2015-12-08 12:27 被阅读112次
     //StorageUtils.java
    public static ArrayList<Storage> getAllMountedStorage() {
        Process process = null;
        ArrayList<Storage> list = null;
        try {
            Runtime rt = Runtime.getRuntime();
    
            process = rt.exec("mount");
            InputStream is = process.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(is));
            String line;
            while ((line = reader.readLine()) != null) {
                String[] strs = line.split(" ");
                String path = strs[1];
                File file = new File(path);
                if (file.isDirectory() && file.canRead() && file.canWrite()) {
                    if (path.endsWith("legacy")) {
                        continue;
                    }
                    Storage storage = new Storage();
                    storage.setFreeLenth(file.getUsableSpace());
                    storage.setTotalLength(file.getTotalSpace());
                    storage.setPath(path);
                    if (list == null) {
                        list = new ArrayList<Storage>();
                        list.add(storage);
                    } else {
                        list.add(storage);
                    }
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
    
            if (process != null) {
                try {
                    process.getErrorStream().close();
                    process.getInputStream().close();
                    process.getOutputStream().close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return list;
    }

    相关文章

      网友评论

          本文标题:Android获取所有sdcard路径

          本文链接:https://www.haomeiwen.com/subject/gayehttx.html