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

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日