Try-with-Resources জাভা ৭-এ চালু করা হয়েছিল। এর উদ্দেশ্য হলো রিসোর্স অটোমেটিক্যালি ক্লোজ করা ব্যবহার করার পর। লিমিটেশন হলো রিসোর্স ট্রাই-এর আগে বা ট্রাই স্টেটমেন্টের ভিতরে ডিক্লেয়ার করতে হতো, না হলে কম্পাইলেশন এরর হতো।
জাভা ৯-এ try-with-resources উন্নত করা হয়েছে এবং আর অবজেক্ট ট্রাই স্টেটমেন্টের ভিতরে ডিক্লেয়ার করার প্রয়োজন নেই।
উদাহরণ
import java.io.*;
public class TryWithResourceTest {
public static void main(String[] args) throws FileNotFoundException {
String line;
Reader reader = new StringReader("tutorialspoint");
BufferedReader breader = new BufferedReader(reader);
try(breader) {
while((line = breader.readLine()) != null) {
System.out.println(line);
}
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
}
আউটপুট
tutorialspoint
জাভা ৯-এ এক্সটার্নালি ডিক্লেয়ারড রিসোর্স (এখানে breader) সরাসরি try-ব্লকে ব্যবহার করা যাচ্ছে।