尝试读取我写的文件时出现FileNotFoundException

时间:2010-08-10 14:17:08

标签: java android

我正在尝试将一个对象(pilotRecord)写入文件并再次读回。我知道我不需要指定路径,因为它是我的应用程序的内部路径,因此我希望在卸载应用程序时删除所有文件。

这是我的代码:

    fileoutputstream = openFileOutput("test1", Context.MODE_WORLD_WRITEABLE);
    Log.d(this.getClass().getName(), "loadPilotRecord: "+fileoutputstream.toString());
    objectoutputstream = new ObjectOutputStream(fileoutputstream);
    Log.d(this.getClass().getName(), "loadPilotRecord: "+objectoutputstream.toString());
    objectoutputstream.writeObject(pilotRecord);
    objectoutputstream.close();
    fileoutputstream.close();

    fileinputstream = new FileInputStream("test1");
    Log.d(this.getClass().getName(), "loadPilotRecord: "+fileinputstream.toString());
    objectinputstream = new ObjectInputStream(fileinputstream);
    Log.d(this.getClass().getName(), "loadPilotRecord: "+objectinputstream.toString());
    pilotRecord = (PilotRecord)objectinputstream.readObject();
    objectinputstream.close();
    fileinputstream.close();

我的问题是我在上面的代码中的以下行得到了一个FileNotFoundException: fileinputstream = new FileInputStream(“test1”); 我不确定如何找出它正在使用的路径,或者可能有一个更明显的问题,我只是没有看到。 对不起,如果这有点基础,但我仍然想找到我的脚。 Log.d语句只输出类名和Id。

TIA,

  • 弗林克

2 个答案:

答案 0 :(得分:2)

您是否尝试过openfileinput(“test1”)而不是新的FileInputStream(“test1”)?

答案 1 :(得分:1)

要找出实际使用的路径,请尝试:

File f = new File("test1");
Log.d(this.getClass().getName(), f.getAbsolutePath());

如果文件确实是创建的,请查看此位置 - 如果没有,您将无法阅读。

编辑:删除了冲洗的猜测,这是一些废话