android 查看文件夹大小 删除文件,Android Base64编码保存本地。查询文件夹大小以及删除...

代码如下

package com.example.file

import android.content.Context

import android.content.Intent

import android.graphics.Bitmap

import android.graphics.BitmapFactory

import android.net.Uri

import android.os.Bundle

import android.os.Environment

import android.util.Base64

import android.widget.Toast

import androidx.appcompat.app.AppCompatActivity

import kotlinx.android.synthetic.main.activity_main.*

import java.io.File

import java.io.FileOutputStream

import java.io.IOException

import java.text.SimpleDateFormat

import java.util.*

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

save.setOnClickListener {

savePicPhone(this, Base642Bitmap())

getLength()

}

delete.setOnClickListener {

delete()

}

}

fun Base642Bitmap(

str: String = "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"

): Bitmap {

val byte = Base64.decode(str, Base64.DEFAULT)

return BitmapFactory.decodeByteArray(byte, 0, byte.size)

}

@Synchronized

fun savePicPhone(context: Context, bmp: Bitmap) {

var fos: FileOutputStream? = null

val path: String = Environment.getExternalStorageDirectory().getPath()

try { // 获取系统时间

val d = Date()

val f = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")

val strDate: String = f.format(d)

val div = File(path, "/logo")

if (!div.exists()) {

div.mkdirs() // 不存在就创建

}

val file = File(div, strDate + "_picture.jpg")

fos = FileOutputStream(file)

val compress: Boolean = bmp.compress(Bitmap.CompressFormat.JPEG, 100, fos)

fos.flush()

// 发送更新图库广播

if (null != file) {

val intent = Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE)

val uri: Uri = Uri.fromFile(file)

intent.setData(uri)

context.sendBroadcast(intent)

}

} catch (e: Exception) {

e.printStackTrace()

} finally {

if (fos != null) {

try {

fos.close()

} catch (e: IOException) {

e.printStackTrace()

}

fos = null

}

}

}

fun getLength() {

val path = Environment.getExternalStorageDirectory().path+"/picture"

val file = File(path)

var size: Long = 0L;

if (file.exists()) {

if (file.isDirectory) {

for (file1 in file.listFiles()) {

if(file1.name.contains("picture")){

size += file1.length()

}

}

}

}

Toast.makeText(this, "$size", Toast.LENGTH_SHORT).show()

}

fun delete(){

val path = Environment.getExternalStorageDirectory().path+"/picture"

val file = File(path)

if(file.exists()&&file.isDirectory){

for(file1 in file.listFiles()){

file1.delete()

}

}

getLength()

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值