2015年06月07日 Directory 浏览(56) 收藏

Java拷贝一个目录及其全部子文件到另一个目录

Java拷贝一个目录及其全部子文件到另一个目录代码如下:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
 * @from www.everycoding.com
 * @Description:Java拷贝一个目录及其全部子文件到另一个目录
 */
public class DirectoryCopyTester {
	public static void main(String[] argv) throws Exception {
		copyDirectory(new File("C:/srcDir"), new File("C:/dstDir"));
	}

	public static void copyDirectory(File srcDir, File dstDir) throws IOException {
		if (srcDir.isDirectory()) {
			if (!dstDir.exists()) {
				dstDir.mkdir();
			}

			String[] children = srcDir.list();
			for (int i = 0; i < children.length; i++) {
				copyDirectory(new File(srcDir, children[i]), new File(dstDir, children[i]));
			}
		} else {
			copyFile(srcDir, dstDir);
		}
	}

	static void copyFile(File src, File dst) throws IOException {
		InputStream in = new FileInputStream(src);
		OutputStream out = new FileOutputStream(dst);

		// Transfer bytes from in to out
		byte[] buf = new byte[1024];
		int len;
		while ((len = in.read(buf)) > 0) {
			out.write(buf, 0, len);
		}
		in.close();
		out.close();
	}
}


赞一下 0 人赞了本文