java - 找不到文件将对象保存到电话文件目录

标签 java android file-io

我正在尝试将对象写入文件并稍后从不同的 Activity 中检索它。 打开输入流以检索对象时,出现 IO 异常:

java.io.FileNotFoundException: /data/data/com.mooney.diveapp/files/savedDiveLocations: open failed: ENOENT (No such file or directory)

字符串和文件初始化:

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。这意味着该文件已有效创建。

关于java - 找不到文件将对象保存到电话文件目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25960752/

相关文章:

java - 如何在JSP中保存XML文件?

java - 如何在Java中分层绘制组件?

java - 如何限制 JTree 中搜索节点的显示仅限于其自身及其父节点(其他节点将被排除在显示中)?

java - Eclipse 就像 : "Cannot determine URI for [project-name]/[file-path]/[file-name]"

android - 在 NDK 项目中包含预构建的共享对象文件

android - 配置android以编程方式运行ffmpeg命令

java - 在Mapr FS中写入字符串内容时附加了垃圾字符

java - 假设有2个类A和B,是否可以在B中创建A的对象,在A中创建B的对象?

Android 字符串数组语言环境验证

c++ - 如何有效地将具有可变长度成员的对象保存到二进制文件中?