导航:首页 > 编程语言 > java关闭文件流

java关闭文件流

发布时间:2023-05-30 21:17:51

java程序能否强制关闭某文件的流

只有知道文件句柄才能关闭,所以你必须把打开的文件流都记在某个数组里,然后循环关闭即可

② java中IO流操作怎样关闭流

如果 in == null,就说明 in这个引用所指向的对象还没有被创建,自然 in.close()也就不可能被执行,而且会报异常。我是这样想的,程序中 如果你先声明变量
InputStream(或者其他流类型) in = null;
然后执行其他语句,再 in = new 、、、、
在in new之前其他语句出exception,这时流没有被打开,也就无需关闭,如果不判断if(null != in) 硬要关闭in就出exception

另外你的代码按如下写会更合理:

if(null != in){
try{
in.flush();
in.close();
in = null;
}
catch(IOExection e){};
}

③ java;怎么关闭流文件

最好声明在一个特定的作用域里面,这样作用域一到自己就释放掉了,也就不存在什么你来关闭了,因为很多内置类析构函数都是有很完整的系统垃圾回收机制。不要做重复的事,当然如果你需要关闭之后在打开,你可以使用手动关闭。

④ Java:这里的两个流都需要关闭吗

ois.close();这个一定要,每次构造ObjectInputStream都先回向流中读那4个标志字节,你只new 了一次ObjectInputStream,所以只向流中读一次那4个字节,所以读完第一个对象后,流中接下来的4个字节是标志字节,不是对象的序列化信息,所以用再用readObject()会出现StreamCorruptedException异常。

is.close();也要,文件流一直打开着。
哦你说关闭ois的时候会将is也一同关闭吗?不会的,刚好理解反了。

先有了文件流,打开了文件,然后在这个基础上输入输出流,你光把输入输出关了,文件流又没变,只不过就是你开着文件不去读写罢了,流还是在的。都要关闭的。

⑤ java io流对文件的增删改查

可以通过BufferedReader 流的形式进行流读取,之后通过readLine方法获取到的内容,之后通过if判断来实现在某些特定位置的查找、增加、删除、修改操作。
举例:
BufferedReader bre = null;
OutputStreamWriter pw = null;//定义一个流
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
if(str.indexOf("排除")<0){//判断是否需要舍弃
pw.write(str);//将要写入文件的内容,可以多次write
}
}
bre.close();//关闭流
pw.close();//关闭流
解释:以上方法是实现的删除,if中的条件改变下,即可实现其余的功能。
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。

⑥ java 文件流 文件操作疑惑 为什么运行程序后h:\\3.txt为0kb 就是为什么没有写入文件

在关闭流之前,要加入os.flush()方法,如下代码。原因是,FileWriter是缓冲字符流,对尘弯于缓冲流迟信,是这样执行的。当缓冲区满了,就写一次,还有就码兄轮是在调用flush方法写一次,所以你在关闭的时候,如果缓冲区没满,是没写的,你不flush,那最终关闭了也没有数据写进文件。确保所有数据都写入了的办法就是在关闭流之前调用一次flush方法。
try {
os.flush();
os.close();
} catch (Exception e) {
System.out.println(e);
}

⑦ 关于java中io流的关闭问题,部分代码,这种情况用不用关闭new FileReader(file)

是的,你的new FileReader(file)是一个匿名对象。

JVM中对于那些打开了没有关闭的IO文件流,会在不再被使用的情况下,等到下次做Full GC的时候把他们全部回收,尽量少使用这种写法。文章来自:http://blog.csdn.net/kongxx/article/details/6405914

⑧ 为什么在java中打开流后一定要关闭流好像关不关没有不同,程序的结果都是一样的。。。

这跟资源的占用有关
比如你将一个100MB的word文档转换成流,然后进行分析存储到数据库一样
它是将这100MB的东西读到内存,然后进行处理,如果你在使用的时候不关闭
那么java就认为你是一直在使用
而不进行垃圾回收
那么就占你100MB的内存
这样有可能导致内存溢出

⑨ JAVA中文件流和字符流操作完成后,如不关闭,会出现什么情况

字符流不关闭是没关系的 垃圾收集到最后会自动为你回收
只不过要多占用内存一会而已
但如果文件流布关闭(尤其是独占模式下)
则会出现异常 对外的程序也打不开这个文件
因此要记得关闭它

阅读全文

与java关闭文件流相关的资料

热点内容
服务器如何支持大量数据的读写 浏览:601
汽车压缩机磁吸不转 浏览:549
python做网站登录 浏览:242
查看javaapi 浏览:952
编程猫电子表格 浏览:525
扣扣如何解除绑定的app 浏览:779
乐橙监控app如何用 浏览:196
编程最重要的是什么 浏览:972
excel函数大全pdf 浏览:527
便宜云服务器服务 浏览:113
三星pdf软件 浏览:290
子菜单里建立文件夹 浏览:777
用命令方块驱除生物 浏览:725
老男孩python怎么样 浏览:86
为什么python中etree报错 浏览:958
普米康APP怎么下载 浏览:877
抖音小店怎么看加密订单的信息 浏览:683
linux时间同步设置 浏览:462
数控车床实验编程 浏览:111
百分三百的算法 浏览:996