- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- /**复制一个文件夹及里面的内容到指定目录
- * @author Administrator
- *
- */
- public class Test14 {
- /**
- * @param args
- */
- public static void main(String[] args) throws Exception {
- //目标文件夹对象f2,及要复制到的路径
- File f2=new File("d:\\java1");
- File f1=new File("f:\\2");
- //传参到功能函数复制
- copyFile(f2,f1);
- }
- public static void copyFile(File f2,File f1) throws Exception{
- //如果f2是文件夹
- if(f2.isDirectory()){
- //f1对象文件夹不存在
- if(!f1.exists()){
- //生成一个文件夹
- f1.mkdir();
- //列出原文件夹下一层的对象
- File[] fs=f2.listFiles();
- //遍历对象
- for(File f:fs){
- //将对象的路径再封装成对象那个
- File f2File=new File(f2,f.getName());
- File f1File=new File(f1,f.getName());
- //递归复制
- copyFile(f2File,f1File);
- }
-
- }
- //如果f2不是文件夹
- }else{
- //把文件f2复制到f1中
- BufferedInputStream bis=new BufferedInputStream(new FileInputStream(f2));
- BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(f1));
- byte[] buf=new byte[1024];
- int len=0;
- while((len=bis.read(buf))!=-1){
- bos.write(buf, 0, len);
- bos.flush();
- }
- bis.close();
- bos.close();
- }
- }
- }
复制代码
夜里睡不着,写个代码,骗两黑马币
如果有错误或更简单的代码,欢迎指教 |
|