package io;import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;public class IOUtils {
public void cp(String srcfile, String destfile) throws IOException {
File src = new File(srcfile);
File dest = new File(destfile);
File[] srcfiles = src.listFiles();
cp2(dest, srcfiles);
} public void cp2(File dest, File[] file) throws IOException {
List<File> list = new ArrayList<File>();
List<File> ff = new ArrayList<File>();
for (File files : file) {
if (files.isDirectory()) {
list.add(files);
}
ff.add(files);
}
for (File fff : list) {
if (fff.isDirectory()) {
list.add(fff);
}
ff.add(fff); } for (int i = 0; i < ff.size(); i++) {
InputStream is = new FileInputStream(ff.get(i));
OutputStream os = new FileOutputStream(dest);
int length = 0;
byte[] by = new byte[4 * 1024 * 1024];
length = is.read(by);
while (length != -1) {
os.write(by, 0, length);
}
} }
public static void main(String[] args) throws IOException {
IOUtils iou = new IOUtils();
iou.cp("D:\\cc","D:\\source");
}}