class CsvReader(private val inputStream: InputStream, private val separator: String = "\t") { fun read(): List { return read(inputStream.bufferedReader()) } private fun read(bufferedReader: BufferedReader): List { val line = bufferedReader.use { it.readLine() } // `use` is like try-with-resources in Java return parse(line) } private fun parse(line: String): List { return line.split(separator) } }