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是将字节流转换为字符流。
而每一个文件,只要打开了,就必须要关闭。
添加回答
举报
0/150
提交
取消