100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > java遍历文件夹并复制文件到指定目录

java遍历文件夹并复制文件到指定目录

时间:2024-02-11 16:43:34

相关推荐

java遍历文件夹并复制文件到指定目录

转载:http://www.open-/home/space-2869-do-blog-id-5781.html

package com.czp;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.Scanner;import javax.swing.JTextArea;public class CopyFolder {//允许复制的文件类型public static String[] filterFile = {".java",".xml",".xdl",".properties",".sql",".jupiter",".wsdl"};private long total = 0l;//private static Pattern pattern = pile("[A-z][:]/[A-z]*/OMC[0-9A-z]{0,}");public static void main(String[] args) throws Exception {Scanner scanner = new Scanner(System.in);System.out.println("Enter src folder:");String srcStr = scanner.next();String destStr;System.out.println("Now enter dest folder:");destStr = scanner.next();String answer = null;do{File src = new File(srcStr);File des = new File(destStr);new CopyFolder().copyFolder(src, des,new String[]{".java",".xml",".xdl",".properties",".sql",".jupiter"},null);System.out.println("Continue ?y or n");answer = scanner.next();}while(answer.equalsIgnoreCase("Y"));scanner.close();}/*** * @param folder* @param filterFile * @param status * @throws Exception */public void copyFolder(File srcFolder,File destFolder,String[] filterFile, JTextArea status) 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,status);}}}else{copyFolder(file, destFolder, filterFile,status);}}}/**** copy file* * @param src* @param dest* @param status * @throws IOException*/private void copyFile(File src, File dest, JTextArea status) throws Exception {BufferedInputStream reader = null;BufferedOutputStream writer = null;try {reader = new BufferedInputStream(new FileInputStream(src));writer = new BufferedOutputStream(new FileOutputStream(dest));byte[] buff = new byte[reader.available()];while ((reader.read(buff)) != -1) {writer.write(buff);}total++;String temp = "\ncopy:\n"+src+"\tsize:"+src.length()+"\nto:\n"+dest+"\tsize:"+dest.length()+"\n complate\n totoal:"+total;System.out.println(temp);//status.append(temp);} catch (Exception e) {throw e;} finally {writer.flush();writer.close();reader.close();}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。