📅  最后修改于: 2020-11-15 03:15:57             🧑  作者: Mango
try-with-resources语句是一个try语句,其中已正确声明一个或多个资源。这里的资源是一个不再需要的对象,应立即关闭。 try-with-resources语句可确保在需求完成后关闭每个资源。任何实现java.lang.AutoCloseable或java.io.Closeable接口的对象都可以用作资源。
在Java 9之前,资源将在try之前或在try语句内部声明,如给定示例中所示。在此示例中,我们将使用BufferedReader作为资源来读取字符串,然后关闭BufferedReader。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
public class Tester {
public static void main(String[] args) throws IOException {
System.out.println(readData("test"));
}
static String readData(String message) throws IOException {
Reader inputString = new StringReader(message);
BufferedReader br = new BufferedReader(inputString);
try (BufferedReader br1 = br) {
return br1.readLine();
}
}
}
test
在这里,我们需要在try语句中声明一个资源br1,然后使用它。在Java9中,我们不再需要声明br1,下面的程序将给出相同的结果。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
public class Tester {
public static void main(String[] args) throws IOException {
System.out.println(readData("test"));
}
static String readData(String message) throws IOException {
Reader inputString = new StringReader(message);
BufferedReader br = new BufferedReader(inputString);
try (br) {
return br.readLine();
}
}
}
test