Skip to main content

Helpful Reference: Try-with-Resources

Try-with-resources is a wonderful addition to the java language back in version 7. It allows you to let java handle closing resources quietly after the try-statement ends, regardless of whether it's statements ended successfully or not. If you're not using this, you're probably adding at least 2 more lines of code, if not more.

"Resources" that this try-statement uses is any class that implements the Closeable interface. Also, try-with-resources can be used with multiple resources in the parentheses.

Example using try-with-resources

try-with-resources with one resource:
try(CSVReader csvReader = 
    new CSVReader(Files.newBufferedReader(Paths.get(fileToProcess)))) {
    //read from the CSV file, line by line
    ...
}

try-with-resources with multiple resources:
try(BufferedReader bReader = Files.newBufferedReader(Paths.get(fileToProcess));
    CSVReader csvReader = new CSVReader(bReader)) {
    //read from the CSV file, line by line
    ...
}
If you did a normal try-catch statement here, you'd have to add a "finally" block to close your resource, 
or you could have some problems with memory leaks, and something about having too many files open. :-/
Try-with-resources will suppress any exceptions thrown in the try-block, but you'll never have to remember 
to close your resources again!

Comments

Popular Posts

On Working On A Passion through Sourdough - It's All In The Details

"Working hard at something you don't believe in is called stress. Working hard at something you do believe in is called passion" - Simon Sinek Java programming is one of my passions, and has been for the last 15+ years. I have a few other passions - like gardening, baking, crocheting, and knitting - but Java has been a solid feature in my life, one way or another. In April of this year, as a pandemic started to rear its ugly head, I was offered an opportunity to grow another passion - a sourdough starter. My past credentials for bread-making have been dabbling in yeast breads, with the active dry variety, and quick breads; I have never worked with wild yeast. I realized an ember of passion was lit in me at the very beginning when I spent hours researching about sourdough starters the day before I was going to pick it up - what is it? how do I keep it alive? how do I make bread out of it? Will it attack me at night? By the time I had the starter in my hands, I had a recipe...