То, что у вас есть сейчас, уже довольно эффективно - файл будет загружаться небольшими порциями bufferedReader
до тех пор, пока не будет прочитана ни одна строка.Тем не менее, вы должны убедиться, что читатель закрыт - примерно так:
File("huge.txt").bufferedReader().use { it.readLine() }
Если вам не нужна скорость, использование обычного небуферизованного считывателя может сэкономить вам немного памяти, но не намного.