例:私のコードは現在以下のように見えます。 lock.release
を明示的に呼び出す必要がありますか、またはFileOutputStream
が終了したときに自動的に解放されますか?対応するストリームが閉じられているときにJava FileChannelロックが閉じられているか、明示的に閉じる必要がありますか?
var os:FileOutputStream = null
var writer:PrintWriter = null
try {
os = new FileOutputStream(name, false)
val lock = os.getChannel().tryLock
if(lock != null) {
writer = new PrintWriter(new BufferedWriter(new
OutputStreamWriter(os)))
(write stuff to file)
} else {
(error stuff)
}
} finally {
if(writer != null) writer.close
os.close
}