2011-08-10 22 views
7

Como se describe en la documentación de android, para crear un nuevo archivo que se ubicará en el directorio de la aplicación existe el método en Context clase: openFileOutput().Android: Crear archivo usando el método createNewFile()

¿Pero dónde estará el archivo situado si utilizo el método simple createNewFile() de la clase File?

Respuesta

24

createNewFile() se utiliza como esto:

File file = new File("data/data/your package name/test.txt"); 
if (!file.exists()) { 
     try { 
      file.createNewFile(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
} 

Así le dirá el archivo donde se debe crear. Recuerde que solo puede crear nuevos archivos en su paquete. Eso es "data/data/your package name /".

+0

Eso es lo que necesito. Muchas gracias. – teoREtik

0

se almacenará en el directorio actual en el que su classPath está apuntando a

0

Depende de la ruta se pasa al constructor del archivo. Si el directorio principal existe, y si tiene el permiso para escribir en él, por supuesto.

4

De alguna manera, createNewFile() no fue capaz de crear la ruta completa del archivo aquí en mis dispositivos.

try { 
    if (!futurePhotoFile.exists()) { 
     new File(futurePhotoFile.getParent()).mkdirs(); 
     futurePhotoFile.createNewFile(); 
    } 
} catch (IOException e) { 
    Log.e("", "Could not create file.", e); 
    Crouton.showText(TaskDetailsActivity.this, 
      R.string.msgErrorNoSdCardAvailable, Style.ALERT); 
    return; 
} 
+0

este fragmento funciona para mí, gracias –

+0

eres bienvenido .... :) agradable de escuchar :) – cV2

Cuestiones relacionadas