📂
Dosya İşlemleri

👨‍💻 Kişisel Kodlarım

1
/**
2
* Verilen [fileUri] değerine sahip olan dosya için [InputStream] döndürür
3
*/
4
@Throws(FileNotFoundException::class)
5
fun getInputStream(activity: Activity, fileUri: Uri): InputStream {
6
return activity.contentResolver.openInputStream(fileUri)!!
7
}
8
9
/**
10
* Verilen [fileUri] değerine sahip olan dosya için [BufferedInputStream] döndürür
11
*/
12
@Throws(FileNotFoundException::class)
13
fun getBufferedInputStream(activity: Activity, fileUri: Uri): BufferedInputStream {
14
return getInputStream(activity, fileUri).buffered(DEFAULT_BUFFER_SIZE)
15
}
16
17
/**
18
* Verilen [fileUri] değerine sahip olan dosya için [OutputStream] döndürür
19
*/
20
@Throws(FileNotFoundException::class)
21
fun getOutputStream(activity: Activity, fileUri: Uri): OutputStream {
22
return activity.contentResolver.openOutputStream(fileUri)!!
23
}
24
25
/**
26
* Verilen [fileUri] değerine sahip olan dosya için [BufferedOutputStream] döndürür
27
*/
28
@Throws(FileNotFoundException::class)
29
fun getBufferedOutputStream(activity: Activity, fileUri: Uri): BufferedOutputStream {
30
return getOutputStream(activity, fileUri).buffered(DEFAULT_BUFFER_SIZE)
31
}
32
33
/**
34
* Verilen [fileUri] değerine sahip olan dosyayı [BUFFER] objesini kullanarak parça parça okur.
35
* Her okuma işleminde [onBuffered] metodunu okunan [BUFFER] ile çağırır
36
*/
37
@Throws(FileNotFoundException::class)
38
fun readBuffered(
39
activity: Activity,
40
fileUri: Uri,
41
onBuffered: (ByteArray) -> Unit
42
) {
43
return readBuffered(getBufferedInputStream(activity, fileUri), onBuffered)
44
}
45
46
/**
47
* Verilen [inputStream] objesini [BUFFER] objesi ile parça parça okuma. Her okuma işleminde
48
* [onBuffered] metodunu okunan [BUFFER] ile çağırır
49
*/
50
fun readBuffered(
51
inputStream: InputStream,
52
onBuffered: (ByteArray) -> Unit
53
) {
54
return readBuffered(inputStream.buffered(), onBuffered)
55
}
56
57
58
/**
59
* Verilen [bufferedInputStream] objesini [BUFFER] objesi ile parça parça okuma. Her okuma işleminde
60
* [onBuffered] metodunu okunan [BUFFER] ile çağırır
61
*/
62
fun readBuffered(
63
bufferedInputStream: BufferedInputStream,
64
onBuffered: (ByteArray) -> Unit
65
) {
66
while (bufferedInputStream.read(BUFFER) != -1) {
67
onBuffered(BUFFER)
68
}
69
}
Copied!

🔗 Faydalı Kaynaklar

Last modified 2yr ago