java中文件打开和关闭的问题

编译完运行程序,文件被打开进行了一些操作后,代码中没有编写关闭文件的语句。那么当程序结束退出后,这个文件是否自动被关闭?还是依然保持着打开状态??

JVM退出时会释放所有文件的句柄,这个文件当然是被自动关闭了;如果你在写入文件后,没有及时调用flush(),写入的内容不会刷入磁盘,就丢失了.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-10
根据我的编程经验,也会遇到文件忘记close的情况,我来说一下我在这种情况下发生了什么问题。我打开一个文件,往里面写东西,如果忘了关闭,在buffer中的内容不会写到文件里面去,也就是有时候明明已经写入内容了,当你打开文件看了下发现会少掉了一部分。而如果在程序推出前close了文件流,则不会发生这种情况。所以文件用完了无论是读写都要养成关闭的好习惯,希望我的回答能够帮到你。
第2个回答  推荐于2017-09-18
可以通过BufferedReader 流的形式进行文件流的大卡,之后通过readLine方法获取到流的内容,之后通过close方法关闭流(关闭文件流)。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
第3个回答  2012-11-10
自己搞个测试就行了,有没被释放,删除一下文件,删不了就没被释放嘛

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网