这个例子是使用了简单的递归写的
使用场景:当你想从N层文件夹内复制出你想要的格式文件时,只需要指定目录即可完成复制
本案例是复制.doc文件
package exp.study.use;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
*
* @author : qq510988896
* @date : 2017年3月17日
*/
public class CopyDuoji2 {
public static void main(String[] args) throws IOException {
String srcFolder = "E:\\网络视频";
String destFolder = "F:\\a";
File srcFolder11 = new File(srcFolder);
File destFolder11 = new File(destFolder);
copyFile(srcFolder11, destFolder11);
System.out.println("************************");
System.out.println("ok");
}
private static void copyFile(File srcFolder, File destFolder) throws IOException {
if (srcFolder.isDirectory()) {
File[] fileArrays = srcFolder.listFiles();
for (File file : fileArrays) {
if (file.isDirectory()) {
copyFile(file, destFolder);
} else {
if (file.getName().endsWith(".doc")) {
File newFile = new File(destFolder, file.getName());
newFile.createNewFile();
copy(file, newFile);
}
}
}
}
}
private static void copy(File file, File newFile) throws IOException {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(newFile));
byte[] bys = new byte[1024];
int len = 0;
while ((len = bis.read(bys)) != -1) {
bos.write(bys, 0, len);
}
bos.close();
bis.close();
}
}