2011-10-08 33 views

Respuesta

51

Esto debería hacer el truco, he sustituido la referencia SDcard duro codificado a la llamada a la API recomendada getExternalCacheDir():

File file = new File(getExternalCacheDir(), "mytextfile.txt"); 
if (file.exists()) { 
    //Do action 
} 
+0

muchas gracias – androiddevs78

+4

tenga en cuenta: getExternalCacheDir() puede no ser lo que quieres. Si desea que un directorio en sd se borre después de desinstalar la aplicación (por ejemplo, un directorio 'caché'), use getExternalCacheDir(). Pero si desea el dir de nivel superior de la tarjeta sd, entonces puede que sea mejor usar: File sdDir = new File (Environment.getExternalStorageDirectory(). GetPath()); – DEzra

0

Debe crear un archivo y configurarlo para que sea el archivo requerido, y verificar si existe.

String FILENAME="mytextfile.txt"; 
File fileToCheck = new File(getExternalCacheDirectory(), FILENAME); 
if (fileToCheck.exists()) { 
FileOutputStream fos = openFileOutput("sdcard/mytextfile.txt", MODE_WORLD_WRITEABLE); 
} 

Have Fun!

+0

Es mejor no utilizar la referencia codificada de la tarjeta SD, consulte mi respuesta anterior para obtener una mejor forma de acceder al almacenamiento externo. – Ljdawson

0

El constructor FileOutputStream lanzará una excepción FileNotFound si el archivo especificado no existe. Vea el Oracle documentation para más información.

Además, asegúrese de tener permiso para access the SD card.

0

comprobar si la condición de tipo booleano como

File file = new File(path+filename); 
if (file.exists() == true) 
{ 
//Do something 
} 
+0

'== true' en el código de arriba es el siguientent. Podría usar 'if (file.exists())' en su lugar. – Slander

2

* El uso de este se puede comprobar el archivo está presente o no en la tarjeta sd *

File file = new File(sdcardpath+ "/" + filename); 
if (file.exists()) 
{ 

} 
Cuestiones relacionadas