diff options
Diffstat (limited to 'core/src/main/kotlin/ca/allanwang/kau/utils/FileUtils.kt')
-rw-r--r-- | core/src/main/kotlin/ca/allanwang/kau/utils/FileUtils.kt | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/core/src/main/kotlin/ca/allanwang/kau/utils/FileUtils.kt b/core/src/main/kotlin/ca/allanwang/kau/utils/FileUtils.kt new file mode 100644 index 0000000..25e0519 --- /dev/null +++ b/core/src/main/kotlin/ca/allanwang/kau/utils/FileUtils.kt @@ -0,0 +1,33 @@ +package ca.allanwang.kau.utils + +import android.content.Context +import android.os.Environment +import java.io.File +import java.io.IOException +import java.io.InputStream +import java.text.SimpleDateFormat +import java.util.* + +/** + * Created by Allan Wang on 2017-08-04. + */ +@Throws(IOException::class) +fun createMediaFile(prefix: String, extension: String): File { + val timeStamp = SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(Date()) + val imageFileName = "${prefix}_${timeStamp}_" + val storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + val frostDir = File(storageDir, prefix) + if (!frostDir.exists()) frostDir.mkdirs() + return File.createTempFile(imageFileName, extension, frostDir) +} + +@Throws(IOException::class) +fun Context.createPrivateMediaFile(prefix: String, extension: String): File { + val timeStamp = SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(Date()) + val imageFileName = "${prefix}_${timeStamp}_" + val storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES) + return File.createTempFile(imageFileName, extension, storageDir) +} + +fun File.copyFromInputStream(inputStream: InputStream) + = inputStream.use { input -> outputStream().use { output -> input.copyTo(output) } }
\ No newline at end of file |