📂Dosya İşlemleri

👨‍💻 Kişisel Kodlarım

/**
 * Verilen [fileUri] değerine sahip olan dosya için [InputStream] döndürür
 */
@Throws(FileNotFoundException::class)
fun getInputStream(activity: Activity, fileUri: Uri): InputStream {
    return activity.contentResolver.openInputStream(fileUri)!!
}

/**
 * Verilen [fileUri] değerine sahip olan dosya için [BufferedInputStream] döndürür
 */
@Throws(FileNotFoundException::class)
fun getBufferedInputStream(activity: Activity, fileUri: Uri): BufferedInputStream {
    return getInputStream(activity, fileUri).buffered(DEFAULT_BUFFER_SIZE)
}

/**
 * Verilen [fileUri] değerine sahip olan dosya için [OutputStream] döndürür
 */
@Throws(FileNotFoundException::class)
fun getOutputStream(activity: Activity, fileUri: Uri): OutputStream {
    return activity.contentResolver.openOutputStream(fileUri)!!
}

/**
 * Verilen [fileUri] değerine sahip olan dosya için [BufferedOutputStream] döndürür
 */
@Throws(FileNotFoundException::class)
fun getBufferedOutputStream(activity: Activity, fileUri: Uri): BufferedOutputStream {
    return getOutputStream(activity, fileUri).buffered(DEFAULT_BUFFER_SIZE)
}

/**
 * Verilen [fileUri] değerine sahip olan dosyayı [BUFFER] objesini kullanarak parça parça okur.
 * Her okuma işleminde [onBuffered] metodunu okunan [BUFFER] ile çağırır
 */
@Throws(FileNotFoundException::class)
fun readBuffered(
    activity: Activity,
    fileUri: Uri,
    onBuffered: (ByteArray) -> Unit
) {
    return readBuffered(getBufferedInputStream(activity, fileUri), onBuffered)
}

/**
 * Verilen [inputStream] objesini [BUFFER] objesi ile parça parça okuma. Her okuma işleminde
 * [onBuffered] metodunu okunan [BUFFER] ile çağırır
 */
fun readBuffered(
    inputStream: InputStream,
    onBuffered: (ByteArray) -> Unit
) {
    return readBuffered(inputStream.buffered(), onBuffered)
}


/**
 * Verilen [bufferedInputStream] objesini [BUFFER] objesi ile parça parça okuma. Her okuma işleminde
 * [onBuffered] metodunu okunan [BUFFER] ile çağırır
 */
fun readBuffered(
    bufferedInputStream: BufferedInputStream,
    onBuffered: (ByteArray) -> Unit
) {
    while (bufferedInputStream.read(BUFFER) != -1) {
        onBuffered(BUFFER)
    }
}

🔗 Faydalı Kaynaklar

Last updated

© 2024 ~ Yunus Emre Ak ~ yEmreAk