resource.use() 호출로 변환할 수 있는 finally 내의 resource.close()를 포함하는 try-finally 블록을 보고합니다.
use()는 명시적인 close() 호출이 필요하지 않으므로 가독성이 더 높고 오류가 발생할 확률도 더 낮습니다.
예:
fun example() {
val reader = File("file.txt").bufferedReader()
try {
reader.lineSequence().forEach(::print)
} finally {
reader.close()
}
}
빠른 수정이 적용된 후:
fun example() {
File("file.txt").bufferedReader().use { reader ->
reader.lineSequence().forEach(::print)
}
}