加油吧,小龙! 2023-01-13 09:50 采纳率: 0%
浏览 25

Android设备突然掉电文件保存为空

问题遇到的现象和发生背景

Android 使用BufferedWriter写文件时,Android 设备突然断电,保存的文件大小为 0 B,再次启动设备,在桌面点击该程序,无法进入,会闪退。大家遇到过这个问题过吗?希望解答,谢谢。

    fun save(file: File, dataLists: List<DataItem>) {
        Log.d("TAG", "save: ${file.toString()}")
        val bufferedWriter = BufferedWriter(FileWriter(file))
        val tempSb = StringBuilder()
        tempSb.append("开始时间,结束时间\r\n")
        for (i in dataLists.indices) {
            tempSb.append(dataLists[i].toString() + "\r\n")
        }
        bufferedWriter.write(tempSb.toString())
        bufferedWriter.flush()
        bufferedWriter.close()
    }

  • 写回答

4条回答 默认 最新

  • Halifax ‎ 2023-01-13 10:00
    关注

    建议使用 mmkv 进行内容存储保存。

    通过 mmap 内存映射文件,提供一段可供随时写入的内存块,App 只管往里面写数据,由操作系统负责将内存回写到文件,不必担心 crash 导致数据丢失。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 1月13日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效