あるディレクトリ以下のファイルすべての削除
val file = File(context.filesDir, "picture/%d".format(newKiroku.id))
file.deleteRecursively()
ファイルからBitmapの読み出し
fun getPicture(id: Int, imageNumber: Int): Bitmap? {
val filename = "picture/%d/%d".format(id, imageNumber)
val bitmap: Bitmap? = BitmapFactory.decodeFile(File(context.filesDir, filename).toString())
return bitmap
}
Uriからファイルを読んで、中身をそのままコピー
(Jpeg圧縮に変更したほうが良いかもしれない)
fun onPictureSelected(imageUri: Uri, imageNumber: Int) {
val inputStream = context.contentResolver.openInputStream(imageUri)
//val inputFile = File(imageUri)
//val inputStream = inputFile.inputStream()
val pictureDirectory = File(context.filesDir,"picture/%d".format(kirokuEditting.value.id))
pictureDirectory.mkdirs()
val filename = "picture/%d/%d".format(kirokuEditting.value.id,imageNumber)
val outputFile = File(context.filesDir, filename)
//val outputFile = File(pictureDirectory, filename)
val outputStream = outputFile.outputStream()
println("copy $imageUri to $outputFile")
inputStream?.copyTo(outputStream)
}
https://docs.oracle.com/javase/jp/8/docs/api/java/io/File.html
リネーム #
.renameTo
親ディレクトリの取得 #
file.getParentFile()
ディレクトリの作成 #
file.getParentFile().mkdirs()