2014-07-16 13 views
19

Non riesco a creare una cartella nella directory di archiviazione esterna di Android.come creare una cartella in Android Directory di archiviazione esterna?

ho aggiunto permissing su manifesti,

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

Ecco il mio codice:

String Path = Environment.getExternalStorageDirectory().getPath().toString()+ "/Shidhin/ShidhiImages"; 
    System.out.println("Path : " +Path); 
    File FPath = new File(Path); 
    if (!FPath.exists()) { 
     if (!FPath.mkdir()) { 
      System.out.println("***Problem creating Image folder " +Path); 
     } 
    } 
+0

Prova questo :) spero ti possa aiutare. http://stackoverflow.com/a/41160319/7200297 – Agilanbu

risposta

42

fare in questo modo:.

String folder_main = "NewFolder"; 

File f = new File(Environment.getExternalStorageDirectory(), folder_main); 
if (!f.exists()) { 
    f.mkdirs(); 
} 

Se vuoi creare un'altra cartella in questo:

File f1 = new File(Environment.getExternalStorageDirectory() + "/" + folder_main, "product1"); 
if (!f1.exists()) { 
    f1.mkdirs(); 
} 
0

provare ad aggiungere

FPath.mkdirs(); (Vedi http://developer.android.com/reference/java/io/File.html)

e quindi basta salvare il file come necessario per quel percorso, sistema operativo Android creerà tutte le directory necessarie. Non è necessario eseguire i controlli esistenti, basta impostare quel flag e salvare. (vedi anche: How to create directory automatically on SD card

+0

Chris, credo che sia File.mkdirs(), non FPath? –

+0

Il codice nell'esempio dei poster ha una variabile chiamata FPath, quindi FPath.mkdirs(); – Chris

7

La differenza tra mkdir e mkdirs è che mkdir non crea directory padre inesistente, mentre mkdirs fa, quindi se Shidhin non esiste, mkdir falliranno Inoltre, mkdir e mkdirs restituisce vero solo se. la directory è stato creato Se la directory esiste già ritornano falso

Problemi correlati