您现在的位置是:首页 >  云笔记 >  开发随笔 >  文章详情

FileUtils.deleteDirectory 报错java.io.IOException: Unable to delete

特不靠谱   2021-01-26 09:17:40   1550人已围观

       使用org.apache.commons.io.FileUtils工具类删除文件的时候FileUtils.deleteDirectory 报错java.io.IOException: Unable to delete

原因:

     主要是他在操作文件的时候读写的文件流未关闭,导致文件被占用

解决方案:

     在网上看到了很多方法,都不起作用,最见效的就是在删除文件前执行:System.gc();

 				 //将文件删除;
 				 File fileDir2=new File(destDirPath);
	        	 if(fileDir2.exists()){
	        		 //文件夹存在,就先清空
	        		 try {
	        		 //网络方法一:(不起作用)
//	        			 File txtFile = new File(destDirPath+"test.txt");//这个地方一定要加上一个test.txt文件
//	        		     InputStream inputStream = new FileInputStream(fileDir2);//开启IO流读取文件
//	        		     inputStream.close();//这个地方一定要关闭IO流,不然下面删除不掉原文件(不起作用)
//	        			 FileUtils.deleteDirectory(fileDir2);

//	        			 方法二:起作用
	        			 System.gc();
	        			 FileUtils.forceDelete(fileDir2);
	        		 } catch (Exception e1) {
	        			 e1.printStackTrace();
	        		 }


分享到:

编辑发布时间:2021-01-26 09:17:40