2011-04-17 11 views

Respuesta

34

Para crear un directorio que puede utilizar el siguiente código:

File dir = new File("path/to/your/directory"); 
try{ 
    if(dir.mkdir()) { 
    System.out.println("Directory created"); 
    } else { 
    System.out.println("Directory is not created"); 
    } 
}catch(Exception e){ 
    e.printStackTrace(); 
} 

Para eliminar un directorio vacío, puede utilizar este código:

boolean success = (new File("your/directory/name")).delete(); 
if (!success) { 
    System.out.println("Deletion failed!"); 
} 

Para borrar un directorio no está vacío, se puede utilizar este código:

public static boolean deleteDir(File dir) { 
    if (dir.isDirectory()) { 
     String[] children = dir.list(); 
     for (int i=0; i<children.length; i++) { 
      boolean success = deleteDir(new File(dir, children[i])); 
      if (!success) { 
       return false; 
      } 
     } 
    } 

    return dir.delete(); 
} 

Tal vez también necesita este permiso:

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

Esta respuesta es también un buen recurso:

How to create directory automatically on SD card

+0

no es necesario que contenga el método mkdir() en try catch, porque si f existen más antiguos, es return false y no arrojó la excepción –

19

para crear un directorio, se puede utilizar

File myDirectory = new File(Environment.getExternalStorageDirectory(), "dirName"); 

if(!myDirectory.exists()) {         
    myDirectory.mkdirs(); 
} 

suprimirlo,

myDirectory.delete(); 

no olvides agregar permi sión:

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 
+2

No es necesario verificar la existencia del directorio. 'mkdirs()' devolverá true si el directorio fue creado, falso si falla o si el directorio ya existió. –

0

He creado directorio y subdirectorio para mi proyecto como este ..

 File root = android.os.Environment.getExternalStorageDirectory(); 

     File dir = new File (root.getAbsolutePath() + "/MP3 Music/"); //it is my root directory 

     File favourite = new File (root.getAbsolutePath() + "/MP3 Music/" + "Favourites"); // it is my sub folder directory .. it can vary.. 

     try 
     { 
      if(dir.exists()==false) 
      { 
        dir.mkdirs(); 
      } 
      /* else 
      { 
       // Toast.makeText(MainActivity.this, "Root Directory is already exists", Toast.LENGTH_LONG).show(); 
      }*/ 

      if(favourite.exists()==false) 
      { 
       favourite.mkdirs(); 
      } 

     } 
     catch(Exception e){ 
      e.printStackTrace(); 

     } 
3
mkdir() for 

File directory = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/abcabcabc"); 
directory.mkdir(); 


mkdirs() for 
File directory = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Mani/abcxyz"); 
    directory.mkdirs(); 
1
new File(Environment.getExternalStorageDirectory(), "DirName").mkdirs(); 
0

si desea crear el directorio raíz y subcarpeta debajo de ella

String root = Environment.getExternalStorageDirectory().toString(); 

File myDir = new File(root + "/rootfoldername"+"/your sub folder name"); 

File dir=new File(root + "/rootfoldername"+"/your sub folder name"); 

myDir.mkdirs(); 

dir.mkdirs(); 
Cuestiones relacionadas