遞迴遍歷磁碟下的某一資料夾中所有檔案,並copy檔案生成檔案和帶資料夾的檔案

y_keven發表於2013-08-15
package com.hudong.test;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.FileUtils;

public class ErgodicFile {

    public static void main(String[] args) throws IOException {
        File file = new File("E:\\ershouok1");
        // ergodicFile(file, 0);
        ergodicFileFolder(file);

    }

    /**
     * 生成檔案
     * 
     * @param file
     * @param temp
     * @return
     * @throws IOException
     */
    public static List<File> ergodicFile(File file, int temp) throws IOException {
        List<File> list = new ArrayList<File>();
        File[] fileList = file.listFiles();

        for (int i = 0; i < fileList.length; i++) {

            File docFile = new File("E:\\39yiyuan\\doc\\" + temp + ".xml");
            File summaryFile = new File("E:\\39yiyuan\\summary\\" + temp + ".xml");
            File contentFile = new File("E:\\39yiyuan\\content\\" + temp + ".xml");

            if (fileList[i].isFile()) {   // 判斷是檔案
                if ("doc.xml".equals(fileList[i].getName())) {
                    FileUtils.copyFile(fileList[i], docFile);   //copy檔案
                } else if ("summary.xml".equals(fileList[i].getName())) {
                    FileUtils.copyFile(fileList[i], summaryFile);
                } else if ("content.xml".equals(fileList[i].getName())) {
                    FileUtils.copyFile(fileList[i], contentFile);
                }
            } else if (fileList[i].isDirectory()) { // 判斷是目錄
                ergodicFile(fileList[i], i); // 遞迴
            }
        }
        return list;
    }

    /**
     * 生成帶資料夾的檔案
     * 
     * @param file
     * @param temp
     * @return
     * @throws IOException
     */
    public static List<File> ergodicFileFolder(File file) throws IOException {
        List<File> list = new ArrayList<File>();
        File[] fileList = file.listFiles();

        for (int i = 0; i < fileList.length; i++) {   //遍歷檔案

            if (fileList[i].isFile()) {  // 判斷是檔案
                if ("doc.xml".equals(fileList[i].getName())) {
                    File docFile = new File("E:/yiyuan/doc/" + System.currentTimeMillis());
                    docFile.mkdir();
                    FileUtils.copyFile(fileList[i], new File(docFile.getAbsolutePath() + "/doc.xml"));
                } else if ("summary.xml".equals(fileList[i].getName())) {
                    File contentFile = new File("E:/yiyuan/summary/" + System.currentTimeMillis());
                    contentFile.mkdir();
                    FileUtils.copyFile(fileList[i], new File(contentFile.getAbsolutePath() + "/summary.xml"));
                } else if ("content.xml".equals(fileList[i].getName())) {
                    File summaryFile = new File("E:/yiyuan/content/" + System.currentTimeMillis());
                    summaryFile.mkdir();
                    FileUtils.copyFile(fileList[i], new File(summaryFile.getAbsolutePath() + "/content.xml"));
                }
            } else if (fileList[i].isDirectory()) { // 判斷是目錄
                ergodicFileFolder(fileList[i]); // 遞迴
            }
        }
        return list;
    }
}


 

相關文章