我正在尝试编写一个文件对象,稍后从另一个活动中检索它。 打开输入流以检索对象时,我得到IO异常:
java.io.FileNotFoundException: /data/data/com.mooney.diveapp/files/savedDiveLocations:打开失败: ENOENT(没有这样的文件或目录)
字符串和文件初始化:
String fileName="savedDiveLocations";
File theFileName;
theFileName= new File(objectConetxActivity.getFilesDir(), fileName);
此处的代码返回先前保存的文件中的对象:
String fileAddress = objectConetxActivity.getFilesDir()+ fileName;
ObjectInputStream ois = null;
FileInputStream streamIn=null;
Object locationObject = null;
try{
// except thrown here
streamIn = new FileInputStream(fileAddress); // address of file
ois = new ObjectInputStream(streamIn);
locationObject = ois.readObject();
}catch (Exception e){
将对象写入文件:
ObjectOutputStream oos = null;
FileOutputStream fout = null;
// save to internal durectpry as opposed to exteranl SD card
try{
String fileAddress = objectConetxActivity.getFilesDir()+ fileName;
fout = new FileOutputStream(fileAddress); // filepath
oos = new ObjectOutputStream(fout);
oos.writeObject(mapLocationsObject);
}catch(Exception ex){...
任何意见都赞赏。
答案 0 :(得分:1)
单独执行theFileName= new File(objectConetxActivity.getFilesDir(), fileName);
不会创建您的文件。
您必须致电theFileName.createNewFile();
。并确保该方法返回true。这意味着文件是有效创建的。