代码如下
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()
}
}
网友评论