package com.czp; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Scanner; public class CopyFolder { // 允许复制的文件类型 public static String[] filterFile = { ".java", ".xml", ".xdl", ".properties", ".sql", ".jupiter", ".wsdl" }; private long total = 0l; public static void main(String[] args) throws Exception { Scanner scanner = new Scanner(System.in); String answer = null; do { System.out.println("Enter src folder:"); String srcStr = scanner.next(); String destStr; System.out.println("Now enter dest folder:"); destStr = scanner.next(); File src = new File(srcStr); File des = new File(destStr); new CopyFolder().copyFolder(src, des, filterFile); System.out.println("Continue ?y or n"); answer = scanner.next(); } while (answer.equalsIgnoreCase("Y")); scanner.close(); } /** * * @param folder * @param filterFile * @throws Exception */ public void copyFolder(File srcFolder, File destFolder, String[] filterFile) throws Exception { File[] files = srcFolder.listFiles(); for (File file : files) { if (file.isFile()) { String pathname = destFolder + File.separator + file.getName(); for (String suff : filterFile) { if (pathname.endsWith(suff)) { File dest = new File(pathname); File destPar = dest.getParentFile(); destPar.mkdirs(); if (!dest.exists()) { dest.createNewFile(); } copyFile(file, dest); } } } else { copyFolder(file, destFolder, filterFile); } } } /*** * * copy file * * @param src * @param dest * @param status * @throws * IOException */ private void copyFile(File src, File dest) throws Exception { FileInputStream input = null; FileOutputStream outstrem = null; try { input = new FileInputStream(src); outstrem = new FileOutputStream(dest); outstrem.getChannel().transferFrom(input.getChannel(), 0,input.available()); total++; String temp =String.format("\ncopy:%s size:%s to: %s complate: %s", src,src.length(),dest,total); System.out.print(temp); } catch (Exception e) { throw e; } finally { outstrem.flush(); outstrem.close(); input.close(); } } }
java遍历文件夹并复制文件到指定目录
最新推荐文章于 2022-11-25 15:52:57 发布