这个例子是使用了简单的递归写的
使用场景:当你想从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(); } }