Try-with-resources স্টেটমেন্ট জাভা ৯-এ উন্নত করা হয়েছে। যদি আমাদের ইতিমধ্যে একটি রিসোর্স থাকে যা final বা ফাইনাল ভেরিয়েবলের সমতুল্য, তবে আমরা সেটি try-with-resources স্টেটমেন্টে ব্যবহার করতে পারি try-with-resources স্টেটমেন্টে নতুন ভেরিয়েবল ডিক্লেয়ার না করেই।
আমরা একাধিক রিসোর্স try ব্লকে ডিক্লেয়ার করতে পারি। Try ইনিশিয়ালাইজেশন ব্লকে যেকোনো সংখ্যক রিসোর্স থাকতে পারে যার ফলাফল হতে পারে null বা non-null রিসোর্স।
নিচের উদাহরণে, আমরা try-with-resources স্টেটমেন্টে একাধিক রিসোর্স ডিক্লেয়ার করতে পারি।
উদাহরণ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
public class MultipleResourcesTest {
public static void main(String args[]) throws IOException {
System.out.println(readData("test"));
}
static String readData(String message) throws IOException {
try(Reader inputString = new StringReader(message);
BufferedReader br = new BufferedReader(inputString)) {
return br.readLine();
}
}
}
আউটপুট
test