java遍历文件夹支付至文件到指定目录

    xiaoxiao2023-03-24  7

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class CopyFolder { private long total = 0l; public static void main(String[] args) { try { //源目录 String srcStr = "d:\\im"; //目标目录 String destStr = "d:\\ims"; File src = new File(srcStr); File des = new File(destStr); new CopyFolder().copyFolder(src, des); } catch (Exception e) { e.printStackTrace(); } } public void copyFolder(File srcFolder,File destFolder) throws Exception { File[] files = srcFolder.listFiles(); for (File file : files) { if(file.isFile()) { String pathname = destFolder+File.separator+file.getName(); File dest = new File(pathname); File destPar = dest.getParentFile(); destPar.mkdirs(); if(!dest.exists()) { dest.createNewFile(); } copyFile(file, dest); }else{ copyFolder(file, destFolder); } } } /*** * copy file * * @param src 源目录 * @param dest 目标目录 */ private void copyFile(File src, File dest) 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); } catch (Exception e) { throw e; } finally { writer.flush(); writer.close(); reader.close(); } } }
    转载请注明原文地址: https://ju.6miu.com/read-1200206.html
    最新回复(0)