Java使用字节流复制一个文件夹

package yt051502;

import java.io.*;

public class CopyDemo {

	public static void main(String[] args) {
		try {
			CopyDirUtil.copyDir(new File("D:\\firefox"),new File("D:\\yunteng"));//将D:\\firefox复制到D:\\yunteng下
			System.out.println("success");//成功就打印success
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}

class CopyDirUtil{
	public static void copyDir(File src,File dst) throws IOException{
		dst.mkdirs();//创建目标文件夹
		if(src!=null){
			File [] files=src.listFiles();//遍历源文件夹中所有的文件或者目录
			if(files!=null){
				for(File  f:files){
					if(f.isFile()){
						//复制文件
						FileInputStream fis=new FileInputStream(f);
						FileOutputStream fos=new FileOutputStream(dst.getAbsolutePath()+"\\"+f.getName());
						byte [] buff =new byte[1024*1024];//自定义一个字符缓冲区
						int len=0;//保存的是读到的字节个数
						while((len=fis.read(buff))!=-1){
							fos.write(buff, 0, len);
						}
						fis.close();
						fos.close();
						
					}else{
						copyDir(f,new File(dst.getAbsolutePath()+"\\"+f.getName()));//关键步骤,递归调用
						
					}
				}
				
					
				
			}
		}
	}
}


你可能感兴趣的:(java)