¿Cuál es la mejor manera de emular try-with-resources en Java 6?

Resulta que casi nadie cierra los recursos en Java correctamente. Los programadores tampoco usantry-finally bloque en absoluto, o simplemente ponerresource.close() enfinally lo cual también es incorrecto (porqueThrowable desdeclose() puede sombrearThrowable desde el bloque try. A veces ponen algo comoIOUtils.closeQuietly() con solo es correcto paraInputStream, pero no paraOutputStream. try-with-resources resuelve todos estos problemas pero todavía hay una gran cantidad de proyectos escritos en Java 6.

¿Cuál es la mejor manera de emular?try-with-resources en java 6? Ahora usoGuava más cerca, que es mejor que nada pero aun mucho mas feo quetry-with-resources. Además, hay un patrón llamado patrón de préstamo, pero la ausencia de lambdas en Java hace que este patrón sea muy engorroso. ¿Hay alguna manera mejor?

Respuestas a la pregunta(3)

Su respuesta a la pregunta