Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.6K
Visualizações
Android - java.io.FileNotFoundException: /storage/emulated/0/Notes/File.txt: error al abrir: ENOENT (No existe tal archivo o directorio)

Encontré muchos temas con el mismo problema, pero no pudieron solucionar el mío. Inicialmente escribo un archivo de la siguiente manera:`

 File root = new File(Environment.getExternalStorageDirectory(), "Notes"); if (!root.exists()) { root.mkdirs(); } File notefile = new File(root, sFileName); FileWriter writer = null; try { writer = new FileWriter(notefile); } catch (IOException e1) { e1.printStackTrace(); } try { writer.append(sBody); } catch (IOException e1) { e1.printStackTrace(); } try { writer.flush(); } catch (IOException e1) { e1.printStackTrace(); } try { writer.close(); } catch (IOException e1) { e1.printStackTrace(); }

No te preocupes por los bloques de prueba y captura, los borraré más tarde: D. Y este es el lector que debería funcionar en el mismo directorio ("Notas" de la tarjeta SD, si no existe, se crearán), lea el archivo y colóquelo en Notificar como puede ver:

 File root = new File(Environment.getExternalStorageDirectory(), "Notes"); if (!root.exists()) { root.mkdirs(); } File file = new File(root, "Nota.txt"); //Read text from file text = new StringBuilder(); try { BufferedReader br = new BufferedReader(new FileReader(file)); String line; while ((line = br.readLine()) != null) { text.append(line); text.append('\n'); } br.close() ; }catch (IOException e) { e.printStackTrace(); }

Realmente no entiendo por qué tengo este problema, incluso intento con

 getExternalStorageDirectory().getAbsolutePath()

pero sin éxito.

¿Alguien me puede ayudar?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Ha intentado verificar con un depurador si existe la raíz cuando lo hace:

 File root = new File(Environment.getExternalStorageDirectory(), "Notes"); if (!root.exists()) { root.mkdirs(); }

No creo que cree la carpeta cuando escriba el archivo

over 4 years ago · Santiago Trujillo Relatório

0

Para escribir un archivo en el almacenamiento externo, debe tener habilitado el permiso WRITE_EXTERNAL_STORAGE.

¿Por qué está tratando de escribir un archivo en el almacenamiento externo?

Quiero decir, si desea este archivo para su aplicación solo significa, use context.getExternalDirs() para obtener la zona de pruebas de su aplicación, no requiere permiso de escritura, por encima de Android 4.2 (Jelly bean).

Si desea compartir el archivo con otras aplicaciones, está haciendo el trabajo correcto.

Y antes de escribir el archivo, verifique si el almacenamiento externo está montado mediante programación.

over 4 years ago · Santiago Trujillo Relatório

0

Problema resuelto

Usé SharedPreferences de Android. Guardé los datos en MainActivity y los tomé en mi clase de la siguiente manera:

  • Actividad principal

     SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor editor = prefs.edit(); editor.putString("string_id", InputString); //InputString: from the EditText editor.commit();
  • En mi clase para obtener mis datos

     SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); String data = prefs.getString("string_id", "no id"); //no id: default value
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda