运行bufferedWriter时抛出java.io.IOException: Stream closed

packagetest;importjava.io.*;publicclassTestBufferedReaderAndWriter{/**完成从一个文件中读出所有行写入... package test;
import java.io.*;

public class TestBufferedReaderAndWriter {

/**完成从一个文件中读出所有行写入另一个文件
* @param args
*/
public static void main(String[] args) {
String s= null;
int i=0;
FileReader fr = null;
FileWriter fw = null;
BufferedReader br = null;
BufferedWriter bw = null;
try{
fr = new FileReader("e:\\123\\1.txt");
fw = new FileWriter("e:\\123\\2.txt");
br = new BufferedReader(fr);
bw = new BufferedWriter(fw);
while ((s=br.readLine())!=null){
bw.write(s);
bw.newLine();
}

}catch(IOException e){
e.printStackTrace();
}finally{
try{
fr.close();
fw.close();
br.close();
bw.close();//34行
}catch(IOException e){
e.printStackTrace();
}

}

}

}
运行时抛出java.io.IOException: Stream closed
at sun.nio.cs.StreamEncoder.ensureOpen(Unknown Source)
at sun.nio.cs.StreamEncoder.write(Unknown Source)
at java.io.OutputStreamWriter.write(Unknown Source)
at java.io.BufferedWriter.flushBuffer(Unknown Source)
at java.io.BufferedWriter.close(Unknown Source)
at test.TestBufferedReaderAndWriter.main(TestBufferedReaderAndWriter.java:34)
为什么bw关闭会抛异常
展开
 我来答
woshixiaoda
2011-04-03 · TA获得超过637个赞
知道小有建树答主
回答量:319
采纳率:100%
帮助的人:237万
展开全部
把这行fw.close(); 去掉或者注释掉,因为 bw.close(); 本身就会关闭fw
追问
br关闭时fr也会关闭吗,运行br.close()时并没有出错
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式