所有,

我试图确保在捕获IOException时关闭我用BufferedReader打开的文件,但它看起来好像我的BufferedReader对象超出了catch块的范围。

public static ArrayList readFiletoArrayList(String fileName, ArrayList fileArrayList)

{

fileArrayList.removeAll(fileArrayList);

try {

//open the file for reading

BufferedReader fileIn = new BufferedReader(new FileReader(fileName));

// add line by line to array list, until end of file is reached

// when buffered reader returns null (todo).

while(true){

fileArrayList.add(fileIn.readLine());

}

}catch(IOException e){

fileArrayList.removeAll(fileArrayList);

fileIn.close();

return fileArrayList; //returned empty. Dealt with in calling code.

}

}

Netbeans抱怨说它在catch块中“找不到符号fileIn”,但是我想确保在发生IOException的情况下,Reader被关闭。在没有围绕第一个try

/ catch构造的丑陋的情况下,我该怎么做呢?

在这种情况下,有关最佳做法的任何提示或建议,

java中如何关闭文件,在Java中捕获IOException后如何关闭文件?相关推荐

  1. java 中导出word后压缩文件_Java批量导出word压缩后的zip文件案例

    一.js代码,由于参数比较大所以利用form表单使用post导出 function export_word(){ var selectedRows = $("#dg").datag ...

  2. io读两个文件,生成list 排重后写本地文件(Java)

    import java.io.*; import java.util.ArrayList; import java.util.List;/*** 2020年11月16日15点* 作者 石宗昊* io读 ...

  3. 新装的oracle缺少很多文件夹,丢失所有文件、拥有全备份,缺少后增加的文件

    1.测试,移除当前所有文件 从备份中恢复数据文件及控制文件(丢失后增加的文件) SQL> startup; ORACLE 例程已经启动. Total System Global Area 472 ...

  4. oracle9i目录不停增长,丢失所有文件、拥有全备份,缺少后增加的文件

    1.测试,移除当前所有文件 从备份中恢复数据文件及控制文件(丢失后增加的文件) SQL> startup; ORACLE 例程已经启动. Total System Global Area 472 ...

  5. matlab GUI学习笔记1 如何生成一个GUI文件,及如何修改保存后的.fig文件

    最近需要做一个项目的小软件,学习如何用matlab GUI生成一个小软件,带对话框等等.所以这几天对matlab GUI的分步学习进行记录.我的matlab版本是R2017a. 首先是如何在matla ...

  6. 电脑格式化后需要重装系统吗_重装系统后c盘文件丢失,电脑重装系统后c盘文件能恢复吗...

    找回系统盘上的文件概率很低,因为重装系统就是写入数据了,一旦数据被覆盖就增加了数据恢度复软件的难度.但是也可以尝试以下面这种方法,看下能不能帮到你. [恢复数据拓展]恢复数据软件有很多,如数据恢复精灵 ...

  7. android mapping文件 路径,Android打包代码混淆后的Mapping文件路径

    大家在发布一个新版本时,如果采用了代码混淆,所生成的apk在反编译之后,会看到进行了混淆的代码中的类名.方法名等会变成单个英文字母,这样子可读性直线下降,起到代码保护的目的. 不过,凡事有利也有弊,我 ...

  8. JAVA编译成文件的说法_下列关于使用Javac命令编译后生成文件的说法中,正确的是?...

    下列关于使用Javac命令编译后生成文件的说法中,正确的是? 答:编译后生成的文件可以在Java虚拟机中运行\n\n编译后生成的文件为二进制文件\n\n编译后生成文件的后缀名为.class 线性表的链 ...

  9. python pyc文件作用_Python中pyc文件的用途

    什么是pyc文件 pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的 ...

最新文章

  1. PyTorch 笔记(19)— Tensor 用 GPU 加速
  2. 代码规范性与品质问题~
  3. CCAI 2019 | Shai Ben-David:人工智能的可学习性能否判定?
  4. JVM -- 运行时栈帧结构简介
  5. linux ssh -R 代理不同内网主机互连
  6. 菜鸟学SQL注入 --- 一个简单的教学案例
  7. RabbitMQ Network Partitions
  8. task_struct解析
  9. python文件头--文件编码指定
  10. jquery append、prepend、before等等
  11. 【Mac】mac 安装 Redis可视化工具-Redis Desktop Manager
  12. C++ Vector详解
  13. linux为mysql创建gpower_系统运维|RHEL/CentOS 7中安装并配置 PowerDNS 和 PowerAdmin
  14. 随机变量的均值与样本的平均值有何区别
  15. Android手机RTMP播放工具(APK,支持秒开)
  16. 他们说用计算机伴奏,用Cubase/Nuendo来消除人声提取伴奏 | 飞来音电脑音乐技术...
  17. android批量转换图片格式,批量图片格式转换器
  18. 人类的智能是如何产生的
  19. 模型会忘了你是谁吗?两篇Machine Unlearning顶会论文告诉你什么是模型遗忘
  20. C++11 多线程之 packaged_task

热门文章

  1. android 的webview解析
  2. [阅读笔记] Java 7 新特性
  3. 关于Java栈与堆的思考
  4. 全局变量名为 param1 var param1Value = webBrowser1.Document.InvokeScript(eval,new String[]{ param1}).To...
  5. php 可以动态的new一个变量类名
  6. C#线程安全的那些事
  7. MySQL 全文索引实现简单版搜索引擎
  8. PHP接口允许ajax跨域访问设置方法(亲测)
  9. ngx_lua模块中的共享内存字典项API
  10. Mysql升序排序对为空的排在最后面is null