java 能否在catch中进行文件删除:报错 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

java 能否在catch中进行文件删除:报错

kun坤 2020-06-07 22:02:10 123

如下代码所示,我希望分析test文件夹下的xml,现在又5个xml文件,执行下面代码后,结果如下。由于文件ddmk_weibo_fenxishi_list_16944905_3098730807.xml,不能正确读取,我希望进行删除。在catch里执行filelist[i].delete(),但是执行后该文件未被删除。

请问该怎么解决呢?

package myproject;

import java.io.File;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;

public class xmlValidate {
	public static void main(String[] args) {
	
			String directory="C:/Users/long/DataScraperWorks/test";
    		String fileSuffix = ".xml"; 
    		File file = new File(directory);
    		File[] filelist = file.listFiles();
    		for(int i=0;i<filelist.length;i++){    			
    			if(filelist[i].getName().lastIndexOf(fileSuffix)!=-1){
    				String filename = filelist[i].getName();
    	            SAXReader reader = new SAXReader();
    	            try {
						Document document = reader.read(directory+"/"+filename);
	    	            System.out.println(filelist[i].getName()+" Load success!");
	    	            //filelist[i].delete();
					} catch (DocumentException e) {
						// TODO Auto-generated catch block
						System.out.println(e.getMessage());
						System.out.println(filelist[i].getName()+" load fail");
						filelist[i].delete();
					}
    			}
    		}

	
	
	}
}
输出结果:
ddmk_weibo_fenxishi_list_16944899_3106567492.xml Load success!
ddmk_weibo_fenxishi_list_16944903_3098714823.xml Load success!
ddmk_weibo_fenxishi_list_16944904_3098704145.xml Load success!
Error on line 690 of document file:///C:/Users/long/DataScraperWorks/test/ddmk_weibo_fenxishi_list_16944905_3098730807.xml : An invalid XML character (Unicode: 0xc) was found in the element content of the document. Nested exception: An invalid XML character (Unicode: 0xc) was found in the element content of the document.
ddmk_weibo_fenxishi_list_16944905_3098730807.xml load fail
XML Java 数据格式
分享到
取消 提交回答
全部回答(1)
  • kun坤
    2020-06-07 22:02:15

    试试 FileUtils.forceDelete(...) 方法, commons-io 项目里的
    ######谢谢。我去试试。 主要我想在对文件进行判断后,删除抛出异常的文件!希望Commons-IO能解决这个删除问题!

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程