递归遍历磁盘下的某一文件夹中所有文件,并copy文件生成文件和带文件夹的文件

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;

    }

}




 

 

你可能感兴趣的:(copy)