Trato este archivo escritor/lector de código de segmento para la prueba:

File file = new File(Environment.getExternalStorageDirectory(), "LM/lm_lisdat_01.txt");
FileOutputStream outputStream = new FileOutputStream(file);
outputStream.write(("test").getBytes());
outputStream.close();

File file = new File(getExternalFilesDir(null), "LM/lm_lisdat_01.txt");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));

En el 4. fila tengo este mensaje de error a continuación, pero el «lm_lisdat_01.txt» se creó el archivo de la PELÍCULA directorio:

java.io.FileNotFoundException: /storage/emulated/0/Android/data/hu.abisoft.lm/files/LM/lm_lisdat_01.txt: open failed: ENOENT (No existe el fichero o el directorio)

Puede ayudar a cualquier persona para responder a esta (creo que la simple pregunta? Soy newby en Android. Gracias!

3 Comentarios

  1. 10

    Que está creando el archivo en un directorio y tratando de abrir para la entrada en otro.

    Environment.getExternalStorageDirectory() es /storage/emulado/0

    getExternalFilesDir(null) es /storage/emulado/0/Android/data/hu.abisoft.lm/archivos

    Utilizar el mismo directorio para la creación de archivos y entrada.

    • Gracias! Este fue el derecho anwer. He utilizado mal función en el lector.
  2. 1

    Por favor ver los cambios. Su camino era equivocado.

    Y también comprobar si el archivo existe o no.

        File file = new File(Environment.getExternalStorageDirectory(), "LM/lm_lisdat_01.txt");
        FileOutputStream outputStream = new FileOutputStream(file);
        outputStream.write(("test").getBytes());
        outputStream.close();
    
        File file = new File(Environment.getExternalStorageDirectory(), "LM/lm_lisdat_01.txt");//changes here
    if(file.exists())
       { 
    
      BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
       }
  3. 1

    Con el sdk, usted no puede escribir en la raíz del almacenamiento interno. Esta causa de su error.
    Edit :

    Basado en el código, para uso de almacenamiento interno con sdk:

    final File dir = new File(context.getFilesDir() + "/nfs/guille/groce/users/nicholsk/workspace3/SQLTest");
    dir.mkdirs(); //create folders where write files
    final File file = new File(dir, "BlockForTest.txt");

Dejar respuesta

Please enter your comment!
Please enter your name here