IOException: write failed: EBADF (Bad file number)

Posted fanfan-公众号-码农修仙儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOException: write failed: EBADF (Bad file number)相关的知识,希望对你有一定的参考价值。

在向一个文件中保存数据时,出现了这个问题,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真实存在

以上是关于IOException: write failed: EBADF (Bad file number)的主要内容,如果未能解决你的问题,请参考以下文章