반응형
kotlin으로 파일을 읽는 방법은 java로 할 하는 경우보다는 간단?? 한듯 합니다.
최종적으로 android하면서 사용한 방법은
fun fileRead(context: Context, fileUri: Uri): String {
val sb = StringBuilder()
val inputStream = context.contentResolver.openInputStream(fileUri)
inputStream?.let {
val reader = BufferedReader(InputStreamReader(inputStream))
val readLines = reader.readLines()
readLines.forEach {
sb.append(it)
}
it.close()
}
return sb.toString()
}
이지만 아래와 같은 방법들이 있습니다.
1. forEachLine
fun fileReadforEachLine(file: String): String {
val sb = StringBuilder()
File(file).forEachLine {
sb.append(it)
}
return sb.toString()
}
2. useLines
fun fileReadUseLines(file: String): String {
val sb = StringBuilder()
File(file).useLines {
it.forEach { str ->
sb.append(str)
}
}
return sb.toString()
}
3. bufferedReader
fun fileReadBufferedReader(file: String): String {
val sb = StringBuilder()
File(file).bufferedReader().readLine().forEach {
sb.append(it)
}
return sb.toString()
}
4. readLines
fun fileReadReadLines(file: String): String {
val sb = StringBuilder()
File(file).readLines().forEach {
sb.append(it)
}
return sb.toString()
}
5. inputStream
fun fileReadInputStream(file: String): String {
return File(file)
.inputStream()
.readBytes()
.toString(Charsets.UTF_8)
}
6. readText
fun fileReadReadText(file: String): String {
return File(file).readText(Charsets.UTF_8)
}반응형
'Android' 카테고리의 다른 글
| kotlin Collection vs Sequense (0) | 2020.05.15 |
|---|---|
| goodbye? onActivityResult... (0) | 2020.05.14 |
| UnknownServiceException: CLEARTEXT communication to not permitted by network security policy (2) | 2019.02.26 |
| AndroidStudio에서 File Template이용하기. (0) | 2016.06.14 |
| AndroidStudio에서 lombok 사용하기 (0) | 2016.04.10 |