文件复制

189 篇文章 0 订阅
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileCopyTest {

	/* 
	* 复制文件夹 
	*/ 
	public static void main(String[] args) { 
		//想要复制的文件夹 
		File src = getDir(); 
		//复制到那个文件夹 
		File dest = getDir(); 
		copyDir(src, dest); 
	} 

	public static void copyDir(File dir, File dest) { 
		File newDir = new File(dest, dir.getName()); 
		newDir.mkdir(); 
		File[] subFiles = dir.listFiles(); 
		for (File subFile : subFiles) { 
			if (subFile.isFile()) { 
			try { 
				BufferedInputStream bis = new BufferedInputStream( 
				new FileInputStream(subFile)); 
				BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream(new File(newDir, subFile.getName())));	
				int len = 0; 
				while ((len = bis.read()) != -1) { 
					bos.write(len); 
				} 
				bos.close(); 
				bis.close(); 
			} catch (IOException e) { 
				e.printStackTrace(); 
			} 
		
			} else { 
				copyDir(subFile, newDir); 
			} 
		}               
	} 
	public static File getDir() { 
		while (true) { 
			String pathname = "D:/www"; 
			File dir = new File(pathname); 
			if (!dir.exists()) { 
				System.out.println("您输入的路径不存在,请重新输入."); 
			} else if (dir.isFile()) { 
				System.out.println("您输入的是一个文件路径,请输入一个文件夹路径."); 
			} else { 
				return dir; 
			} 
		} 
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值