android get external sd card path

public static HashSet getExternalMounts() {

final HashSet out = new HashSet();

String reg = "(?i).*vold.*(vfat|ntfs|exfat|fat32|ext3|ext4).*rw.*";

String s = "";

try {

final Process process = new ProcessBuilder().command("mount")

.redirectErrorStream(true).start();

process.waitFor();

final InputStream is = process.getInputStream();

final byte[] buffer = new byte[1024];

while (is.read(buffer) != -1) {

s = s + new String(buffer);

}

is.close();

} catch (final Exception e) {

e.printStackTrace();

}

// parse output

final String[] lines = s.split("\n");

for (String line : lines) {

if (!line.toLowerCase(Locale.US).contains("asec")) {

if (line.matches(reg)) {

String[] parts = line.split(" ");

for (String part : parts) {

if (part.startsWith("/"))

if (!part.toLowerCase(Locale.US).contains("vold"))

out.add(part);

}

}

}

}

return out;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,929评论 0 33
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,806评论 18 399
  • Correctness AdapterViewChildren Summary: AdapterViews can...
    MarcusMa阅读 9,066评论 0 6
  • 今天新学期开学第一天。对于高三学生来说,也就剩下278天。 新的学期,有新的调整。 一、学生在变化。 暑假期间,一...
    装蝴蝶朱阅读 267评论 0 0
  • 1.查看当前地址 所有的项目 window-》new Repository Browser 在这里可以对你svn ...
    sirai阅读 1,919评论 0 0

友情链接更多精彩内容