finally に resource.close() がある try-finally ブロックで、resource.use() の呼び出しに変換できるものを報告します。
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)
}
}