原文地址为:
java.io.IOException: Stream closed解决办法
转载请注明本文地址: java.io.IOException: Stream closed解决办法
/** * @author Keyty * @功能:将文件保存回原来的文件目录 */
public void saveFile()
{
File file =this.getCurFileName();
//准备写入到指定文件即可
FileWriter fw =null;
BufferedWriter bw =null;
try
{
fw=new FileWriter(file);
bw=new BufferedWriter(fw);
//获取jta文本,并用\n分隔符分割文本
String[] s =this.jta.getText().split("\n");
for (int i = 0; i < s.length; i++) {
bw.write(s[i]);
bw.flush();
bw.newLine();
}
} catch (Exception e)
{
e.printStackTrace( );
// TODO: handle exception
}
finally
{
try
{
//这里关闭流要从大到小关闭
//fw.close();
//bw.close();
//这样的顺序就是不行,fw流自己关闭了。然后bw流又把
//fw流关闭一次就会说java.io.IOException: Stream closed
bw.close();
fw.close();
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
报错说
那么是因为一个流关闭了但是你有试着使用它就会报这个异常
比如上面例子
bw.close();
fw.close();
bw流使用了fw流,所以关闭bw流也会关闭fw流;
但是下面有使用fw流,相当于使用一个关闭了的流。解决办法是换下位置就好
fw.close();
bw.close();
转载请注明本文地址: java.io.IOException: Stream closed解决办法