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 }