Перемещение файла с использованием kotlin.Приложение должно иметь разрешение на запись файла в целевой каталог.
@Throws(FileNotFoundException::class, IOError::class)
private fun moveTo(source: File, dest: File, destDirectory: File? = null) {
if (destDirectory?.exists() == false) {
destDirectory.mkdir()
}
val fis = FileInputStream(source)
val bufferLength = 1024
val buffer = ByteArray(bufferLength)
val fos = FileOutputStream(dest)
val bos = BufferedOutputStream(fos, bufferLength)
var read = fis.read(buffer, 0, read)
while (read != -1) {
bos.write(buffer, 0, read)
read = fis.read(buffer) // if read value is -1, it escapes loop.
}
fis.close()
bos.flush()
bos.close()
if (!source.delete()) {
HLog.w(TAG, klass, "failed to delete ${source.name}")
}
}