我正在尝试将一个对象写入文件,然后从另一个活动中检索它。当打开输入流以检索对象时,我得到IO异常:
java.io.FileNotFoundException:/data/data/co.mooney.divapp/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){...
感谢任何意见。
仅执行theFileName= new File(objectConetxActivity.getFilesDir(), fileName);
不会创建文件。
你必须打电话给theFileName.createNewFile();
。并确保该方法返回true。这意味着该文件是有效创建的。