android, when using bufferedReader, is using StringBuilder better than using readText() read in whole text

24 views Asked by At

When read in a file from android asset folder, is there performance difference if use bufferedReader.readLine() with StringBuilder to read line by line, or use bufferedReader.readText() to read in all?

bufferedReader.readLine()

fun readFileFromAssets(assetManager: AssetManager, filename: String): String {
        return try {
            val inputStream = assetManager.open(filename)
            val bufferedReader = BufferedReader(InputStreamReader(inputStream))
            val stringBuilder = StringBuilder()
            var line: String? = bufferedReader.readLine()
            while (line != null) {
                stringBuilder.append(line)
                line = bufferedReader.readLine()
            }
            bufferedReader.close()
            stringBuilder.toString()
        } catch (e: Throwable) {
            ""
        }
    }

bufferedReader.readText():

fun readFileFromAssets(assetManager: AssetManager, filename: String): String {
        return try {
            assetManager.open(filename)
                .bufferedReader().use {
                    it.readText()
                }
        } catch (e: Throwable) {
            ""
        }
    }
0

There are 0 answers