Android简单的Json 写入 磁盘 和 图片写入存储卡

简简单单的 文字写入磁盘,f方便测试临时数据保存

/**
 * 文件保存工具类
 *
 */
object FileUtil {
    fun saveBitmap(context: Context, bitmap: Bitmap?) = WorkScope.launch {
        val dir = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES)
        val toString = System.currentTimeMillis().toString()
        if (dir != null) {
            saveFile(bitmap, dir.path, "$toString.jpg")
        }
        //如果需要打印日期
//        val calendar = Calendar.getInstance()
//        val simpleDateFormat = SimpleDateFormat("yyyy-MM-DD")
//        val format = simpleDateFormat.format(calendar.time)

    }

    private fun saveFile(bitmap: Bitmap?, path: String, fileName: String): File? {
        bitmap ?: return null
        val dirFile = File(path)
        if (!dirFile.exists()) {
            dirFile.mkdir()
        }
        val myCaptureFile = File(path, fileName)
        try {
            val bos = BufferedOutputStream(FileOutputStream(myCaptureFile))
            bitmap.compress(Bitmap.CompressFormat.JPEG, 80, bos)
            bos.flush()
            bos.close()
        } catch (e: FileNotFoundException) {
            e.printStackTrace()
        } catch (e: IOException) {
            e.printStackTrace()
        }
        return myCaptureFile
    }

    fun saveJson(json: String, context: Context) = WorkScope.launch {
        val dir = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES)
        val toString = System.currentTimeMillis().toString()
        if (dir != null) {
            saveJson(json, dir.path, "$toString.json")
        }
    }

    fun saveJson(json: String, path: String, fileName: String): File {
        val dirFile = File(path)
        if (!dirFile.exists()) {
            dirFile.mkdir()
        }
        val myCaptureFile = File(path, fileName)
        try {
//            val bos = BufferedOutputStream(FileOutputStream(myCaptureFile))
            val bos = BufferedWriter(FileWriter(myCaptureFile))
            bos.write(json)
            bos.close()
        } catch (e: FileNotFoundException) {
            e.printStackTrace()
        } catch (e: IOException) {
            e.printStackTrace()
        }
        return myCaptureFile
    }
}


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值