为了账号安全,请及时绑定邮箱和手机立即绑定

Android错误-打开失败ENOENT

Android错误-打开失败ENOENT

杨魅力 2019-11-02 10:31:08
我正在尝试使用整数数组保存一些块覆盖率,该整数数组仅保存执行块的次数。但是由于某种原因,当我尝试写入创建的某些文件(例如,“ BlockForHelper.txt”,该文件是我在Eclipse中专门制作并放置在项目目录中)时,出现此错误: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并给我错误: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();    }}有人知道这可能是什么造成的吗?
查看完整描述

3 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

使用sdk,您无法写入内部存储的根目录。这会导致您的错误。


编辑:


根据您的代码,将内部存储与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");


查看完整回答
反对 回复 2019-11-02
  • 3 回答
  • 0 关注
  • 1006 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信