en *_*pes 12 java try-with-resources autocloseable
我是新手Java8,我想知道,对于AutoCloseable资源,我是否必须try为每个添加一个resource,或者它将使用上面的代码
try (Connection conn = getConnection();) {
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery(sql);
while (rset.next()) {
TelefonicaDataVO vo = new TelefonicaDataVO();
vo.setTelefonicaDataId(rset.getString("Telefonica_PSD_ID"));
vo.setReceptionDate(nvl(rset.getTimestamp("CREATION_DATE")));
vo.setMessage(nvl(rset.getString("MESSAGE")));
ret.add(vo);
}
}
Run Code Online (Sandbox Code Playgroud)
Vis*_*hnu 29
尝试使用资源可以使用多个资源,通过在try块中声明它们全部在java 7中引入的这个功能而不是在java 8中如果你有多个,你可以给出如下所示
try (
java.util.zip.ZipFile zf =
new java.util.zip.ZipFile(zipFileName);
java.io.BufferedWriter writer =
java.nio.file.Files.newBufferedWriter(outputFilePath, charset)
) {
// Enumerate each entry
for (java.util.Enumeration entries =
zf.entries(); entries.hasMoreElements();) {
// Get the entry name and write it to the output file
String newLine = System.getProperty("line.separator");
String zipEntryName =
((java.util.zip.ZipEntry)entries.nextElement()).getName() +
newLine;
writer.write(zipEntryName, 0, zipEntryName.length());
}
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,try-with-resources语句包含两个由分号分隔的声明:ZipFile和BufferedWriter.当直接跟随它的代码块正常或由于异常而终止时,将按此顺序自动调用BufferedWriter和ZipFile对象的close方法.请注意,资源的close方法按其创建的相反顺序调用..
有关详细信息,请参阅文档
| 归档时间: |
|
| 查看次数: |
9529 次 |
| 最近记录: |