在向一个文件中保存数据时,出现了这个问题,java.io.IOException: write failed: EBADF (Bad file number)
原来是因为java本身的回收机制的问题,因为我是在初始化是对文件进行写数据,导致等我再次调用时,fos已经被回收,虽然fos依旧不为空,但属于假数据,所以,我进行了一些修改
/**
* 获取输出流后,写数据
* @param str
*/
private void write(String str){
try {
fos = initFile();
if(fos != null){
fos.write(str.getBytes());
fos.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
当每次写数据时,我去获取到fos,保证了fos真实存在
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有