为了账号安全,请及时绑定邮箱和手机立即绑定

close关闭是要所有文件都要调用么

close关闭是要所有文件都要调用么

道临 2016-09-12 19:12:58
package k; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class IsrAndOswDemo { public static void main(String[] args) throws IOException { FileInputStream in=new FileInputStream("D:\\test\\日记3.txt"); InputStreamReader isr=new InputStreamReader(in,"gbk"); FileOutputStream out = new FileOutputStream("D:\\test\\日记1.txt"); OutputStreamWriter osw=new OutputStreamWriter(out,"gbk"); /*int c; while((c=isr.read())!=-1){ System.out.print((char)c); }*/ char[] buffer=new char[20*1024]; int c; //字节批量读取,返回的是读到的字节的个数 while((c=isr.read(buffer, 0, buffer.length))!=-1){ String s=new String(buffer,0,c); System.out.print(s); osw.write(buffer, 0, c); } osw.flush(); isr.close(); osw.close(); } }就像上方的代码,in和out没有close可以么?
查看完整描述

1 回答

已采纳
?
喵喵小喵

TA贡献5条经验 获得超3个赞

可以的。InputStreamReader是将字节流转换为字符流;OutputStreamWriter是将字节流转换为字符流。

而每一个文件,只要打开了,就必须要关闭。

查看完整回答
反对 回复 2016-09-12
  • 喵喵小喵
    喵喵小喵
    最后一句说错啦,应该是“每一个文件,只要打开了,就应该要关闭”。不关闭可以,但会消耗内存。垃圾回收不一定会回收到它。
  • 1 回答
  • 0 关注
  • 1530 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信