java finalize 析构_close,析构函数和finalize:Java矛盾
try { FileInputStream in = new FileInputStream(filename);
BufferedReader reader=new BufferedReader(new InputStreamReader(in));
String line;
while((line=reader.readLine())!=null){
// read the file
}
}
catch (Exception e) {
System.out.println(e);
}
但是如果我尝试将命令添加为close,那么在文件读完之后,我就得到了错误:
in.close();
Error:(131, 9) java: cannot find symbol
symbol: variable in
location: class ReadFile
我在使用后搜索了清洁对象,并在程序结束前需要关闭文件.并在Java上发现了几个帖子,但很多都非常矛盾.关键是,最后我感到非常困惑.
我错了,或者Java编程有点模糊和混乱?我的意思是,显然没有真正使用destructor,使用finalize是非常值得怀疑的,并且close的使用也被认为是不必要的.关于这些问题的一些帖子是矛盾的和非决定性的.
那么,如何在这里继续?在我真的需要关闭文件的情况下,如何摆脱这个错误信息?关闭文件真的可有可无和不必要吗?如何为程序完成清理类实例?
解决方法:
您收到错误是因为您在try块内部定义了变量,因此它在catch / finally /或try之外的任何地方都不可见.将声明移到外面试试:
改变这个
try { FileInputStream in = new FileInputStream(filename);
至
FileInputStream in = null;
try { in = new FileInputStream(filename);
标签:java,file-io,class,code-cleanup,finalize
来源: https://codeday.me/bug/20190716/1477358.html
java finalize 析构_close,析构函数和finalize:Java矛盾相关推荐
- Java 到底有没有析构函数呢?
Java 到底有没有析构函数呢? Java 到底有没有析构函数呢?我没能找到任何有关找个的文档.如果没有的话,我要怎么样才能达到一样的效果? 为了使得我的问题更加具体,我写了一个应 ...
- java finalize逃脱_finalize(),析构函数(finalization)
对象生存还是死忙(finalize 是什么) 来自:<深入理解Java虚拟机> Object对象里的一个方法 对象内存的回收是由GC来做的,GG通过可达性分析来回收未被引用的对象 但是并不 ...
- java final 变量 回收_java入门教程-Java中final,finally,finalize三个关键字的区别
final 当这个关键字修饰一个类时,意味着他不能派生出新的子类,也就是说不能被继承,因此一个类不能被同时声明为abstract和final.当final修饰变量或者方法时,可以保证他们在使用中不会被 ...
- AJPFX讲解Java 性能优化[4]:关于 finalize 函数
★finalize 函数的调用机制 俺经常啰嗦:"了解本质机制的重要性".所以今天也得先谈谈 finalize 函数的调用机制.在聊之前,先声明一下:Java虚拟机规范(见&quo ...
- 转 Java中final、finally、finalize的区别与用法
Java中final.finally.finalize的区别与用法 1.简单区别: final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承. finally是异常处理语句结构 ...
- Java中final、finally、finalize的简单区别,中等区别,详细区别(Lawliet 修改+注释版)
简单区别: 中等区别: 虽然这三个单词在Java中都存在,但是并没有太多关联: final:java中的关键字,修饰符. 1.如果一个类被声明为final,就意味着它不能再派生出新的 ...
- Java中final、finally、finalize的区别
简单区别: final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承. finally是异常处理语句结构的一部分,表示总是执行. finalize是Object类的一个方法,在 ...
- java 析构函数_C++与Java的区别(一)
一,前言 网上经常看到编程语言之争,大伙儿皈依到不同门派,各自怀抱信仰,时不时还发生点儿"冲突". 这其中,C++和Java的优劣,十多年前就常吵的火热.然而时代在进步,技术在发展 ...
- java 析构函数_《JAVA编程思想》5分钟速成:第5章(初始化和清理)
第五章.初始化和清理 前言 1.初始化顺序(静态成员.非静态成员,构造器.父类构造器)的排序: 2.构造器(constructor)是否可被重写(override)? 3.final, finally ...
最新文章
- iOS 获取键盘相关信息
- GML、SVG、VML的比较
- spring restful遇到的问题
- [导入]LINQ体验(11)——LINQ to SQL语句之Null语义和String/DateTime方法
- OpenGL相机控制之二
- 用asp.net编写冒泡排序法
- 使用el-checkbox实现全选,点击失效没有反应
- JAVA操作属性文件,可进行读 写 更改
- 第45届国际大学生程序设计竞赛(ICPC)沈阳站太原理工大学收获1枚铜牌
- wuzhicms 查看模板中的所有可用变量和值
- 交互设计精髓之理解输出
- CentOS mysql常用命令
- 微信小程序超级占内存_微信小程序彻底拯救16GB手机 小程序与APP占用内存对比...
- C语言面试题---结构体
- 二维卷积与一维卷积区别
- 从未在一起更让人遗憾_我们从未在一起更遗憾
- BVH with SAH (Bounding Volume Hierarchy with Surface Area Heuristic)
- 入门必学 | R语言参数检验之t检验与方差分析
- 希腊字母读音及科学方面应用
- windows 10 添加鼠标右键快捷应用
热门文章
- 【渝粤教育】国家开放大学2018年秋季 0680-22T会计基础知识 参考试题
- 国家开放大学2021春1378管理英语3题目
- TTL电平、CMOS电平、RS232通信电平的概念及区别
- 高低温湿热试验箱使用的注意事项
- java构造函数重载继承_Java基础-继承 - 写代码换盆的个人空间 - OSCHINA - 中文开源技术交流社区...
- 鸿蒙os怎么还没发布,关于鸿蒙OS系统!小米为何从支持到“失声”?看看中兴就知道了!...
- 工业机器人 答案 韩建海_中国将连续8年成为工业机器人第一大市场,还将持续多久?...
- Java异常处理(2)--异常处理机制及自定义异常
- sudo 命令报错的解决方法
- android 知识体系