finally中关闭资源

对finally中关闭资源是否还要使用try...catch老是感到迷惑,现在存个例子,省的忘了

 1 public StringBuilder readTxtFile(File file){
 2     StringBuilder sBuilder = new StringBuilder();
 3     InputStreamReader isr = null;
 4     BufferedReader br = null;
 5     try {
 6         if (file.isFile() && file.exists()) {
 7             isr = new InputStreamReader(new FileInputStream(file), "GBK");
 8             br = new BufferedReader(isr);
 9             String line = null;
10                 
11             while ((line = br.readLine()) != null) {
12                 System.out.println(line);
13                 sBuilder.append(line);
14             }
15         } else {
16             logger.info("文件不存在!");
17         }
18     } catch (Exception e) {
19             logger.info("文件读取错误!");
20     } finally {
21         // 关闭流
22         try {
23             if(isr != null) {
24                 isr.close();
25                 logger.info("isr已经成功关闭!");
26             }
27             if(br != null){
28                 br.close();
29                 logger.info("br已经成功关闭!");
30             }
31         } catch(Exception e) {
32             e.printStackTrace();
33         }    
35     }
36    return sBuilder;
37 }

 

posted @ 2017-06-20 16:58  一步一个小脚印  阅读(2056)  评论(0编辑  收藏  举报