复制目录下所有文件到另一个文件

package 路径包括目录复制;
import java.util.*;
import java.io.*;
public class Main {
	public static void copy(File []f,File file) {
		if(!file.exists()) {//判断是否存在,不存在创建新文件夹
			file.mkdir();
		}
		for(int i=0;i<f.length;i++) {
			if(f[i].isFile()) {
				try {
					FileInputStream fis=new FileInputStream(f[i]);
					FileOutputStream fos=new FileOutputStream(new File(file.getPath()+File.separator+f[i].getName()));
				int count=fis.available();
				byte[]data=new byte[count];
				if((fis.read(data))!=-1) {
					fos.write(data);//开始写入
				}
				fos.flush();
				fos.close();
				fis.close();
				}catch(Exception e){
					e.printStackTrace();
				}
			}//if文件
			if(f[i].isDirectory()) {
				File des=new File(file.getPath() + File.separator
	                    + f[i].getName());
				des.mkdir();
				copy(f[i].listFiles(),des);
			}
		}
	}
	public static void main(String[] args)throws IOException {
		// TODO 自动生成的方法存根
		Scanner in=new Scanner(System.in);
		String lujing=in.nextLine();
		String lujing2=in.nextLine();
		File []f=new File(lujing).listFiles();//创建新目录对象
		File f2=new File(lujing2);
		copy(f,f2);
	}

}//通过该方法创建目录数组
  

 File[] listFiles(FileFilter filter)
          返回表示此抽象路径名所表示目录中的文件和目录的抽象路径名数组,这些路径名满足特定过滤器。
posted @ 2021-06-10 09:09  正在奋击的红猪  阅读(150)  评论(0)    收藏  举报