Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Error de Android: abierto fallido ENOENT

Estoy tratando de guardar una cobertura de bloque utilizando una matriz de enteros que simplemente guarda el número de veces que se ejecuta un bloque. Por alguna razón, sin embargo, cuando intento escribir en algunos archivos que creé ("BlockForHelper.txt" por ejemplo, que hice específicamente en Eclipse y coloqué en el directorio del proyecto), obtengo este error:

java.io.FileNotFoundException: /nfs/guille/groce/users/nicholsk/workspace3/SQLTest/BlockForTest: open failed: ENOENT (No such file or directory) at libcore.io.IoBridge.open(IoBridge.java:416) at java.io.FileOutputStream.<init>(FileOutputStream.java:88) at java.io.FileOutputStream.<init>(FileOutputStream.java:73) at com.example.sql2.SQLTest.blockCoverage(SQLTest.java:149) at com.example.sql2.test.SQLTestCase.testSuite(SQLTestCase.java:41) at java.lang.reflect.Method.invokeNative(Native Method) at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214) at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199) at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1584) Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory) at libcore.io.Posix.open(Native Method) at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110) at libcore.io.IoBridge.open(IoBridge.java:400) ... 18 more 

Y me da el error:

 public void blockCoverage() throws IOException { String coverage = ""; for (int x = 0; x < 20; x++) coverage += x + " " + bb_count[x] + "\n"; File file = new File("/nfs/guille/groce/users/nicholsk/workspace3/SQLTest/BlockForTest.txt"); Writer out = new OutputStreamWriter(new FileOutputStream(file)); // Here try { out.write(coverage); } finally { out.close(); } } 

Alguien sabe lo que podría estar causando esto?

  • Android: abierto fallido: ENOENT (No hay tal archivo o directorio)
  • Archivo de guardar archivos de Android FileOutputStream
  • Ext4 / fsync situación poco clara en Android (Java)
  • Eliminación de archivos creados con FileOutputStream
  • Por qué alguna vez lanza FileNotFoundException
  • Android: ¿Cómo almacenar datos en la memoria interna?
  • ¿Cómo juega Android InputStream en MediaPlayer?
  • Volley - descarga directamente al archivo (no en la matriz de memoria byte)
  • 2 Solutions collect form web for “Error de Android: abierto fallido ENOENT”

    Con sdk, no puede escribir en la raíz del almacenamiento interno. Esto causa su error.

    Editar:

    Basado en su código, para usar el 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"); 

    Coloque el archivo de texto en el directorio de activos. Si no hay un dir de activos crear uno en la raíz del proyecto. A continuación, puede utilizar Context.getAssets().open("BlockForTest.txt"); Para abrir un flujo a este archivo.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.