天天看點

java複制檔案夾_Java實作複制檔案夾及其子目錄

主要用遞歸的方法實作aa檔案夾及其子目錄複制到bb檔案夾。

代碼如下:

public class FileCopy {

public static void main(String[] args) {

try {

copyDir("D:\\aa", "D:\\bb");

} catch (IOException e) {

e.printStackTrace();

}

}

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];

while((in.read(buffer)) != -1){

out.write(buffer);

}

out.close();

in.close();

}

}