
Question:
I am trying to write an object (pilotRecord) to a file and read it back again. I understood that I didn't need to specify a path as it is internal to my app, so I want all files deleted if the app is uninstalled.
Here's my code:
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();
My problem is that I get a FileNotFoundException on the following line in the above code: fileinputstream = new FileInputStream("test1"); I'm not really sure how to find out what path it is using, or maybe there is a more obvious problem I'm just not seeing. Sorry if this is a bit basic, but I'm still trying to find my feet. The Log.d statements just output the class name and an Id.
TIA,
- Frink
Solution:1
Have you tried openfileinput("test1) instead of new FileInputStream("test1")?
Solution:2
To find out which path is actually used try:
File f = new File("test1"); Log.d(this.getClass().getName(), f.getAbsolutePath());
Look at this location if the file is really created - if not, you won't be able to read.
EDIT: removed the guess with flush which was quite some nonsense
Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
EmoticonEmoticon