- public class copyDirectoryDemo {public static void main(String[] args) {
- File srcFolder = new File("C:\\Users\\MA\\Desktop\\IOtest");
- File destFolder = new File("C:\\Users\\MA\\Desktop\\IOtest\\test");
- fun(srcFolder, destFolder);
- }
- public static void fun(File srcFolder, File destFolder) {
- File[] fileArray = srcFolder.listFiles();
- if (!destFolder.exists()) {
- destFolder.mkdir();
- }
- for (File file : fileArray) {
- if (file.isDirectory()) {
- String folderName = file.getName();
- File newDestFolder = new File(destFolder, folderName);
- fun(file, newDestFolder);
- } else {
- String fileName = file.getName();
- File destFile = new File(destFolder, fileName);
- copy(file, destFile);
- }
- }
- }
- public static void copy(File file, File destFile) {
- BufferedInputStream bis = null;
- BufferedOutputStream bos = null;
- try {
- bis = new BufferedInputStream(new FileInputStream(file));
- bos = new BufferedOutputStream(new FileOutputStream(destFile));
- byte[] bys = new byte[1024];
- int len = 0;
- while((len=bis.read(bys))!=-1){
- bos.write(bys,0,len);
- }
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }catch (IOException e){
- e.printStackTrace();
- }finally{
- if(bis!=null){
- try {
- bis.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- if(bos!=null){
- try {
- bos.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
来源: http://www.bubuko.com/infodetail-2695176.html