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)的主要内容,如果未能解决你的问题,请参考以下文章

android studio java.io.IOException:setDataSourse fail.

java.io.IOException: All specified directories have failed to load.

sftp error: process_write: write failed

android 中Network error IOException: failed to connect to /127.0.0.1 (port 1433): connect failed: ECO

fiddler手机抓包遇到的问题-SecureClientPipeDirect failed: System.IO.IOException

java.io.IOException: setDataSource failed.: status=0x80000000问题的解决