2010-04-12 43 views

Respuesta

104

archivo Java Regular IO:

File f = new File(Environment.getExternalStorageDirectory() + "/somedir"); 
if(f.isDirectory()) { 
    .... 

también posible que desee comprobar f.exists(), porque si es que existe, y isDirectory() vuelve falsa, tendrá un problema. También hay isReadable() ...

Compruebe here para conocer más métodos que pueden resultarle útiles.

+0

Mi error solo resultó ser un directorio que falta en mi camino, pero gracias. Empecé a preguntarme si el sistema de archivos de Android no era compatible con los métodos normales como este :-P – Alxandr

+3

Solo una nota, getExternalStorageDirectory() Puede que en realidad no apunte a la tarjeta sd física, podría apuntar a almacenamiento interno. http://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory() – Chrispix

+1

Chrispix, su comentario es engañoso. getExternalStorageDirectory() apuntará al almacenamiento que comparte datos en todas las aplicaciones. Esta podría ser la tarjeta SD, y para dispositivos sin tarjetas SD apunta al área de almacenamiento reservada que se utiliza como almacenamiento externo. El almacenamiento interno es donde se almacenan datos privados (para la aplicación, generalmente datos/datos). – Yash

36
File dir = new File(Environment.getExternalStorageDirectory() + "/mydirectory"); 
if(dir.exists() && dir.isDirectory()) { 
    // do something here 
} 
+0

¿Es necesario marcar ambos si 'existe()' y 'esDirectorio()'? Quiero decir, ¿y si usamos alguno de ellos? – Mann

0

He cometido un error al verificar el archivo/directorio. De hecho, solo necesita llamar al isFile() o isDirectory(). Aquí está el docs

No necesita llamar al exists() si alguna vez llama al isFile() o isDirectory().

+0

NOTA: El directorio anterior - http://download.oracle.com/javase/1.4.2/docs/api/java/io/File.html ya no existe. –

8

El siguiente código también funciona para los archivos de Java:

// Create file upload directory if it doesn't exist  
if (!sdcarddir.exists()) 
    sdcarddir.mkdir(); 
1

uso general de esta función de comprobación es un Dir existe:

public boolean dir_exists(String dir_path) 
    { 
    boolean ret = false; 
    File dir = new File(dir_path); 
    if(dir.exists() && dir.isDirectory()) 
     ret = true; 
    return ret; 
    } 

utilizar la función como:

String dir_path = Environment.getExternalStorageDirectory() + "//mydirectory//"; 

if (!dir_exists(dir_path)){ 
    File directory = new File(dir_path); 
    directory.mkdirs(); 
} 

if (dir_exists(dir_path)){ 
    // 'Dir exists' 
}else{ 
// Display Errormessage 'Dir could not creat!!' 
} 
0

Sí, lo he intentado mucho, debajo del código me ayuda :)

File folder = new File(Environment.getExternalStorageDirectory() + File.separator + "ur directory name"); 
 

 
       if (!folder.exists()) { 
 
        Log.e("Not Found Dir", "Not Found Dir "); 
 
       } else { 
 
        Log.e("Found Dir", "Found Dir "); 
 
        Toast.makeText(getApplicationContext(),"Directory is already exist" ,Toast.LENGTH_SHORT).show(); 
 
       }

Cuestiones relacionadas