import java.io.File;
import java.util.*;

public class DirectoryStructureCopy{
	private String source;
	private String target;
	
	public DirectoryStructureCopy(String source, String target){
		this.source = source;
		this.target = target;
	}
	
	public List<File> getDirectory(File sourceFile){
		List<File> result = new ArrayList<File>();
		//System.out.println(sourceFile.getPath()+" is Directory :"+ sourceFile.isDirectory());
		if(sourceFile.isDirectory()){
			File[] dirFiles = sourceFile.listFiles();
			for(int i=0; i < dirFiles.length; i++){
				if(dirFiles[i].isDirectory()){
					result.add(dirFiles[i]);
					result.addAll(getDirectory(dirFiles[i]));
				}
			}
		}
		
		return result;
	}
	
	public void copyFile(List<File> sourceDirectory, File targetDirectory, String sourceURL){
		if(targetDirectory.isDirectory()){
			for(File file:sourceDirectory){
				String path = file.getAbsolutePath();
				path = path.replace(sourceURL, targetDirectory.getAbsolutePath());
				File newFile = new File(path);
				if((newFile.exists() && newFile.isFile()) || !newFile.exists()){
					newFile.mkdir();
				}
			}
		}
	}
	
	public void directoryCopy(){
		List<File> copyLists= getDirectory(new File(this.source));
		System.out.println("find Directory:");
		for(File file:  copyLists){
			System.out.println(file.getAbsolutePath());
		}
		copyFile(copyLists,new File(this.target), this.source);
	}
	
	
	public static void main(String [] args){
		String sourceURL = args[0];
		String targetURL = args[1];
		DirectoryStructureCopy copyObj = new DirectoryStructureCopy(sourceURL, targetURL);
		copyObj.directoryCopy();
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}
最近下载更多
13940562934  LV22 2022年7月19日
新人报道  LV1 2020年9月2日
scpcyzxb  LV16 2017年8月14日
spencer97  LV15 2015年12月23日
wzg356  LV18 2015年1月3日
小可  LV17 2014年7月29日
spring4.0  LV26 2014年6月25日
415276550  LV3 2014年6月18日
Kingsly39664  LV4 2014年6月9日
梦蝶  LV18 2014年6月8日
最近浏览更多
yq12359  LV1 1月2日
13940562934  LV22 2022年7月19日
crosa_Don  LV18 2022年7月6日
pxqtsht  LV15 2020年12月8日
新人报道  LV1 2020年9月2日
养生今天不睡  LV2 2020年5月15日
798962919  LV2 2019年12月30日
tyd888  LV11 2019年11月28日
tangxjcxv65  LV2 2019年11月14日
energe  LV9 2018年9月17日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友