文件夹复制

package com.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class CopyFileUtil {

	/**
	 * <p>
	 * 将sourceFolder文件夹下的内容复制到destinationFolder文件夹下
	 * </p>
	 * <p>
	 * 如destinationFolder文件夹不存在则自动创建
	 * </p>
	 * 
	 * @param sourceFolder
	 *            源文件夹 如:C:\\aaa
	 * @param destinationFolder
	 *            目标文件夹 D:\\java
	 * @throws Exception
	 */
	public static void copyFolder(String sourceFolder, String destinationFolder)
			throws Exception {
		try {
			new File(destinationFolder).mkdirs(); // 如果文件夹不存在 则建立新文件夹
			File a = new File(sourceFolder);
			String[] file = a.list();
			File temp = null;
			for (int i = 0; i < file.length; i++) {
				if (sourceFolder.endsWith(File.separator)) {
					System.out.println(sourceFolder + file[i]);
					temp = new File(sourceFolder + file[i]);
				} else {
					System.out.println(File.separator);
					temp = new File(sourceFolder + File.separator + file[i]);
				}
				if (temp.isFile()) {
					FileInputStream input = new FileInputStream(temp);
					//System.out.println(temp.getPath());
					FileOutputStream output = new FileOutputStream(
							destinationFolder + "/"
									+ (temp.getName()).toString());
					byte[] b = new byte[1024 * 5];
					int len;
					while ((len = input.read(b)) != -1) {
						output.write(b, 0, len);
					}
					output.flush();
					output.close();
					input.close();
				}
				if (temp.isDirectory()) {// 如果是子文件夹
					copyFolder(sourceFolder + "/" + file[i], destinationFolder
							+ "/" + file[i]);
				}
			}
		} catch (Exception e) {
			throw new Exception("复制整个文件夹内容操作出错", e);
		}
	}
	public static void main(String[] args) {
		try {
			copyFolder("E:\\百度网页\\百度指数搜索_java.files", "E:\\百度网页\\重新生产\\百度指数搜索_java.files");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}

你可能感兴趣的:(java,C++,c,百度,C#)