請教文件關閉問題
FileInputStream in = new FileInputStream(srcFile);
?? ??? ?InputStreamReader isr = new InputStreamReader(in);
?? ??? ?
?? ??? ?FileOutputStream out = new FileOutputStream(desFile);
?? ??? ?OutputStreamWriter osw = new OutputStreamWriter(out);
最后關閉的時候只要isr.close();?osw.close();這兩個都關閉了就行嗎?in和out不需要關閉嗎?
2016-03-02
但是我剛才也試了下,
FileInputStream inf=new FileInputStream("Demo/dddd.txt");
InputStreamReader isr=new InputStreamReader(inf,"UTF-8");
FileOutputStream outf=new FileOutputStream("Demo/dos.dat");
OutputStreamWriter osw=new OutputStreamWriter(outf);
isr.close();
osw.close();
byte[] s=new byte[8*1024];
while ((c=inf.read(s, 0, s.length))!=-1) {
?? ?? outf.write(s, 0, c);
}
這樣去讀取的時候,會報read error,跟提前關掉inf和outf去讀取時候一樣
2016-03-02
我本人也不太清楚,但是我問了工作群里面,說的是都需要關閉
2015-08-31
in和out是低級流,外面套著isr和osw高級流,關閉的時候只需要關閉最外層的就可以了。
2015-07-29
都需要關閉