Как создать каталог в External SD в приложении для Android
Я хочу создать каталог на "/ Мнт / extsd / MyFolder» этот путь. во время вызова mkdir () он возвращает false. Я вставил SDDcard в свой планшет, получил внешний путь как "/ Шоссе / extsd» и пытается создать папку по этому пути. Ниже мой код,
File lSDCardDirFile = new File("/mnt/extsd/MyFolder");
if (!lSDCardDirFile.exists()) {
System.out.println("Is folder created --- " + lSDCardDirFile.mkdirs());
}
Я дал разрешения. Я хочу создать папку во внешней SD-карте, которая является съемной SD-картой. Я использую устройство Android версии Android 4.0.
Я создал другой метод для получения путей от внешней SD-карты,
public static String[] getStorageDirectories()
{
String[] lDirs = null;
BufferedReader lBufferReader = null;
try {
lBufferReader = new BufferedReader(new FileReader("/proc/mounts"));
ArrayList list = new ArrayList();
String lStrline;
while ((lStrline = lBufferReader.readLine()) != null) {
if (lStrline.contains("vfat") || lStrline.contains("/mnt")) {
StringTokenizer lTokenizer = new StringTokenizer(lStrline, " ");
String lStrPath = lTokenizer.nextToken();
lStrPath = lTokenizer.nextToken(); // Take the second token, i.e. mount point
if (lStrPath.equals(Environment.getExternalStorageDirectory().getPath())) {
list.add(lStrPath);
}
else if (lStrline.contains("/dev/block/vold")) {
if (!lStrline.contains("/mnt/secure") && !lStrline.contains("/mnt/asec") && !lStrline.contains("/mnt/obb") && !lStrline.contains("/dev/mapper") && !lStrline.contains("tmpfs")) {
list.add(lStrPath);
}
}
}
}
lDirs = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
lDirs[i] = (String) list.get(i);
}
}
catch (FileNotFoundException e) {}
catch (IOException e) {}
finally {
if (lBufferReader != null) {
try {
lBufferReader.close();
} catch (IOException e) {
}
}
}
return lDirs;
}`
Из этого метода я получил путь, но при попытке создать каталог mkdir () возвращает false.