一个自动递增生成目录和文件的cop文件类

package com.hudong.util.orther;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;

import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**
 * 遍历文件
 * 
 * @Title: ErgodicFile.java
 * @Copyright: Copyright (c) 2005
 * @Description: <br>
 * <br>
 * @Company: ***
 * @Created on 2013-8-15 上午9:41:20
 * @author 杨凯
 */
public class JudgeCopyErgodicFile {

    private static int k = 1, m = 1;

    private final static Log logger = LogFactory.getLog(JudgeCopyErgodicFile.class);

    public static void main(String[] args) throws IOException {

        File file = new File("E:/公司资料/39网资料/最终xml数据");
        ergodicFolder(file);
    }

    public static void ergodicFolder(File file) throws IOException {

        File[] fileList = file.listFiles();

        for (int i = 0; i < fileList.length; i++) { // 遍历文件
            if (fileList[i].isFile()) { // 判断是文件
                // 这里是必须的,一定要休眠,否则会导致文件的覆盖
                try {
                    Thread.sleep(1l);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                if ("summary.xml".equals(fileList[i].getName())) {
                    try {
                        List<Element> root = new SAXReader().read(new FileInputStream(fileList[i])).getRootElement().elements();
                        for (Element e : root) {
                            String content = e.element("SUMMARY_CONTENT").getTextTrim();
                            if (!"".equals(content)) {
                                File summaryFile = new File("E:/yiyuan/summary/" + k + "/");
                                summaryFile.mkdir();
                                FileUtils.copyFile(fileList[i], new File(summaryFile.getAbsolutePath() + "/" + System.currentTimeMillis() + ".xml"));
                                m++;
                                if (m > 1000) {
                                    k++;
                                    m = 1;
                                }
                            } else {
                                logger.info(e.element("DOC_TITLE").getText());
                                System.out.println(e.element("DOC_TITLE").getText());
                            }
                        }
                    } catch (DocumentException e1) {
                        e1.printStackTrace();
                    }
                } else if ("content.xml".equals(fileList[i].getName())) {
                    File contentFile = new File("E:/yiyuan/docinfo/" + k + "/" + System.currentTimeMillis());
                    contentFile.mkdir();
                    File desFile = new File(contentFile.getAbsolutePath() + "/docInfo.xml");
                    FileUtils.copyFile(fileList[i], desFile);
                    m++;
                    if (m > 1000) {
                        k++;
                        m = 1;
                    }
                }
            } else if (fileList[i].isDirectory()) { // 判断是目录
                ergodicFolder(fileList[i]); // 递归
            }
        }
    }
}


 

posted @ 2013-08-19 17:21  yangkai_keven  阅读(148)  评论(0编辑  收藏  举报