java 复制指定目录中的所有文件和文件夹到另一个指定文件夹中
自由自在 闲话少叙...
package com.adao.test; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Scanner; public class CopyFile { public static void main(String[] args) throws IOException { // Scanner sc = new Scanner(System.in); // System.out.println("请输入源目录:"); // String sourcePath = sc.nextLine(); // System.out.println("请输入新目录:"); // String path = sc.nextLine(); // String sourcePath = "D:/test/A"; String newPath = "D:/test/B"; copyDir(sourcePath, newPath); } public static void copyDir(String sourcePath, String newPath) throws IOException { File file = new File(sourcePath); String[] filePath = file.list(); if (!(new File(newPath)).exists()) { (new File(newPath)).mkdir(); } for (int i = 0; i < filePath.length; i++) { if ((new File(sourcePath + file.separator + filePath[i])).isDirectory()) { copyDir(sourcePath + file.separator + filePath[i], newPath + file.separator + filePath[i]); } if (new File(sourcePath + file.separator + filePath[i]).isFile()) { copyFile(sourcePath + file.separator + filePath[i], newPath + file.separator + filePath[i]); } } } public static void copyFile(String oldPath, String newPath) throws IOException { File oldFile = new File(oldPath); File file = new File(newPath); FileInputStream in = new FileInputStream(oldFile); FileOutputStream out = new FileOutputStream(file);; byte[] buffer=new byte[2097152]; int readByte = 0; while((readByte = in.read(buffer)) != -1){ out.write(buffer, 0, readByte); } in.close(); out.close(); } }
perfect