繁体   English   中英

Android:应用程序重启后保存在 getFilesDir() 中的文件消失

[英]Android: files saved inside getFilesDir() disappear after application restart

我想将文件保存到特定于应用程序的存储中,如文档中所示:

String filename = "myfile.txt";
String fileContents = "Hello world!";
try (FileOutputStream fos = context.openFileOutput(filename, Context.MODE_PRIVATE)) {
    fos.write(fileContents.toByteArray());
}

不幸的是,每次我重新启动应用程序时,所有数据都会丢失。

如何防止数据被删除?

请注意,我对使用 SharedPreferences/External Storage/Database 不感兴趣。 安卓工作室 3.5.3。

使用完文件后,您需要关闭该文件。 否则它不会存储到磁盘,而只会存储到内存中。 这就是为什么当您“关闭”应用程序并重新开始时,它不再存在的原因。

FileOutputStream fos = context.openFileOutput(filename, Context.MODE_PRIVATE);
    try  {
        fos.write(fileContents.toByteArray());
    } catch (IOException e) {
      e.printStackTrace();
    } finally{
       try{
       if (fos!=null){
          fos.flush();
          fos.close();
        }
       } catch( Exception e) {
         e.printStackTrace();
       }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM