IOException: write failed: EBADF (Bad file number)

来源:互联网 发布:黑白调和西昊 知乎 编辑:程序博客网 时间:2024/06/07 22:36

在向一个文件中保存数据时,出现了这个问题,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 blocke.printStackTrace();}}

当每次写数据时,我去获取到fos,保证了fos真实存在

2 0
原创粉丝点击