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

 public StringBuilder readTxtFile(File file){
StringBuilder sBuilder = new StringBuilder();
InputStreamReader isr = null;
BufferedReader br = null;
try {
if (file.isFile() && file.exists()) {
isr = new InputStreamReader(new FileInputStream(file), "GBK");
br = new BufferedReader(isr);
String line = null; while ((line = br.readLine()) != null) {
System.out.println(line);
sBuilder.append(line);
}
} else {
logger.info("文件不存在!");
}
} catch (Exception e) {
logger.info("文件读取错误!");
} finally {
// 关闭流
try {
if(isr != null) {
isr.close();
logger.info("isr已经成功关闭!");
}
if(br != null){
br.close();
logger.info("br已经成功关闭!");
}
} catch(Exception e) {
e.printStackTrace();
}
}
return sBuilder;
37 }

最新文章

  1. vs2010中如何设置Visual Assist方便地使用现成的代码编辑器风格
  2. C++中的const和指针组合
  3. VR的UI、UX设计原则
  4. ubuntu14 谷歌输入法
  5. Knockout.js初体验
  6. Requirements of an SAP system administrator
  7. 分享一个ASP.NET 文件压缩解压类 C#
  8. 使用变量替换批量部署GoldenGate
  9. JS实现 页面提交防刷新等待提示
  10. 百度地图API地址转换成经纬度
  11. Java多线程:Semaphore
  12. Reachability下载地址
  13. IOS 表视图(UITableVIew)的使用方法(2)名单的分段显示
  14. 随机IP
  15. JMM以及并发三大特性介绍(包括解决方案)
  16. Lesson 25 Do the English speak English?
  17. LongAdder 测试
  18. liunx centOS6.5安装jdk教程
  19. [转]AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
  20. 半夜两点灵光一现想出来的一个demo

热门文章

  1. LevelDB的源码阅读(二) Open操作
  2. Elastic-Job-一个分布式调度解决方案
  3. Django date__range([start,end])其中不包括end时间
  4. 明星单品tab
  5. SVM公式推导笔记
  6. CSRF跨站
  7. Django_ajax
  8. 浴室沉思:聊聊DAL和Repository
  9. BZOJ:4209: 西瓜王
  10. POJ 3624 Charm Bracelet(01背包裸题)