当前位置: 首页 > 知识库问答 >
问题:

将对象保存到电话文件目录时未找到文件

糜宜民
2023-03-14

我正在尝试将对象写入文件并稍后从不同的活动中检索它。当打开输入流以检索对象时,我得到了IO异常:

java.io.FileNotFoundException:/data/data/com.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){...

任何意见都值得赞赏。

共有1个答案

焦宁
2023-03-14

仅执行 FileName= new File(objectConetxActivity.getFilesDir(), fileName); 单独执行不会创建您的文件。

您必须调用FileName.createNewFile() 。并确保该方法返回true。这意味着文件已有效创建。

 类似资料:
  • 问题内容: 我想将一个对象保存到文件中,然后轻松地从文件中读取它。作为一个简单的示例,可以说我有以下3d数组: 是否有一个简单的Ruby API,无需编程解析器即可解释文件中的数据,就可以用来实现此目的?在示例中,我给出了一个简单的例子,但是随着对象变得越来越复杂,使对象持久化变得很烦人。 问题答案: 参见元帅:http : //ruby- doc.org/core/classes/Marshal

  • 问题内容: 我使用以下代码将文件保存在swift 3的文档目录中: 但是正如您所看到的,我不习惯获取文档目录路径,因为它仅给出URL而不是字符串。 问题: 如何从文件管理器获取字符串? 我的代码有崩溃的可能吗? 问题答案: 请反过来考虑。 建议使用此方法来处理文件路径,因为它包含用于添加和删除路径组件和扩展名的所有便捷方法,而不是Apple从中删除了这些方法。 不鼓励您连接诸如之类的路径。这很容易

  • 问题内容: 我看到过很多不同的文章,涉及到您应该以何种方式将对象序列化到文件,并且所有这些在本质上在执行方式和最佳实践方面存在冲突。因此,这就是我要保存的内容: 我们可以假设configArgs的大小已知,我需要制作一个文件,这就是到目前为止的内容。 问题答案: 好吧,我想,您想将对象直接写入文件 我只是提供了重要的代码。通过异常处理来实现。

  • 问题内容: 我目前利用以下内容将文件上传到S3: 上面的方法工作正常,但我想直接将a保存到S3以从应用程序中删除几秒钟,但是我不知道如何执行此操作?这是我当前将图像保存到文件中的方式: 有没有一种方法可以直接以流的形式直接写入Amazon S3,如果可以,有人可以显示示例吗? 另外,这是个好主意吗?如果它容易出错,我将继续使用当前方法。任何建议表示赞赏。 问题答案: 以下(或类似的东西)应该可以正

  • 问题内容: 我需要备份PST文件(存储空间)中包含的电子邮件。我正在使用libpst,这是我在网上找到的唯一免费库(http://code.google.com/p/java- libpst/ ) 这样我就可以访问每一封电子邮件中的所有信息(主题,正文,发件人等),但是我需要将它们放在文件中 在这里有人说您可以从“ javax.mail.Message”对象创建一个EML文件: 在Java中创建一

  • 我正试图将我的客户Java对象保存到一个文本文件中,然而,每当我尝试执行GUI并输入字段时,输出是这样的:文件中混淆的字符和数据 我根本不知道怎么解决这个问题。 下面是我的保存到文件代码: customer对象存储在数组中: 当按下submit按钮并将其保存到customer对象数组时,将创建My customer对象,如以下代码所示: 下面是GUI布局

  • 本文向大家介绍Java将对象保存到文件中/从文件中读取对象的方法,包括了Java将对象保存到文件中/从文件中读取对象的方法的使用技巧和注意事项,需要的朋友参考一下 1.保存对象到文件中 Java语言只能将实现了Serializable接口的类的对象保存到文件中,利用如下方法即可: 参数obj一定要实现Serializable接口,否则会抛出java.io.NotSerializableExcept

  • 问题内容: 我正在尝试使用适用于AWS的新boto3客户端做一个“ hello world” 。 我的用例非常简单:从S3获取对象并将其保存到文件中。 在boto 2.XI中,它应该是这样的: 在boto 3中。我找不到一种干净的方法来做同样的事情,所以我手动遍历了“ Streaming”对象: 要么 而且效果很好。我想知道是否有任何“本机” boto3函数可以完成相同的任务? 问题答案: Bot