txt outputstreamwriter example ejemplo android eclipse fileoutputstream

outputstreamwriter - Error de Android-Error abierto ENOENT



outputstream android path (2)

Estoy tratando de guardar algo de cobertura de bloque usando una matriz de enteros que simplemente guarda la cantidad de veces que se ejecuta un bloque. Por alguna razón, sin embargo, cuando intento escribir en algunos archivos que creé (por ejemplo, "BlockForHelper.txt", que hice específicamente en Eclipse y coloqué en el directorio del proyecto), aparece 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?


Coloque el archivo de texto en el directorio de activos. Si no hay un directorio de activos, cree uno en la raíz del proyecto. Luego puede usar Context.getAssets().open("BlockForTest.txt"); para abrir una secuencia a este archivo.


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

Editar:

Según 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");