找不到文件正在将对象保存到电话文件目录



我正在尝试将一个对象写入文件,然后从另一个活动中检索它。当打开输入流以检索对象时,我得到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。这意味着该文件是有效创建的。

最新更新