Finally block could contain some special things, eg. with incidental variable value changing. But I can't declare variable outside try() block, and give them values inside - so the finally block has chance to see them. When I do a real job, I had to write adapter class to streams, so I can override theirs "deallocate" method?