Was ist der beste Weg, um try-with-resources in Java 6 zu emulieren?

Es stellt sich heraus, dass fast niemand Ressourcen in Java korrekt schließt. Programmierer verwenden entweder nichttry-finally überhaupt blockieren oder einfach setzenresource.close() imfinally das ist auch falsch (weilThrowable vonclose() kann schattenThrowable aus dem try-Block). Manchmal setzen sie so etwas wieIOUtils.closeQuietly() mit ist nur richtig fürInputStream, aber nicht fürOutputStream. try-with-resources löst all diese Probleme, aber es gibt immer noch eine große Anzahl von Projekten, die in Java 6 geschrieben wurden.

Was ist der beste Weg, um zu emulierentry-with-resources in Java 6? Jetzt benutze ichGuave näher, das ist besser als nichts aber immer noch viel hässlicher alstry-with-resources. Es gibt auch ein Muster, das als Leihmuster bezeichnet wird, aber das Fehlen von Lambdas in Java macht dieses Muster sehr umständlich. Gibt es einen besseren Weg?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage