文件夹的拷贝

来源:互联网 发布:怎么学游戏编程 编辑:程序博客网 时间:2024/06/04 18:48

1.首先确定源文件的地址,还有拷贝到哪的目标地址,

2.然后判断目标地址是否有该文件夹,如果没有就创建文件夹,

3.使用递归访问源文件夹内的全部文件包括子文件夹,

4.判断是文件夹就继续递归调用继续访问该文件夹的内容,是文件就调用读写的方法,

5.然后创建流对象进行读和写到目标地址。

public static void main(String[] args) {            Copy("D:\\src", "D:\\des");        }        public static void Copy(String src, String des) {            //建立源文件地址对象和目标地址对象            File fsrc = new File(src);            File fdes = new File(des);            //列出文件目录            File[] arr = fsrc.listFiles();            //判断地址是否存在文件夹,没有就创建            if(!fdes.exists()) {                fdes.mkdirs();            }                         for(File f : arr) {                 if(f.isDirectory()) {                    //递归调用                     Copy(f.getPath(), des+"\\"+f.getName());                 } else {                    //调用读写的方法                     ReadWrite(f.getPath(), des+"\\"+f.getName());                 }             }             return true;             /*            for(int i=0; i < arr.length; i++) {                if(arr[i].isDirectory()) {                    CopyMake(arr[i].getPath(), des+"\\"+arr[i].getName());                } else {                    Copy(arr[i].getPath(), des+"\\"+arr[i].getName());                }            }*/        }        public static void ReadWrite(String src, String des) {            FileReader fr = null;            FileWriter fw = null;            BufferedReader bufr = null;            BufferedWriter bufw = null;            try{                fr = new FileReader(src);                fw = new FileWriter(des);                bufr = new BufferedReader(fr);                bufw = new BufferedWriter(fw);                String len;                while((len = bufr.readLine()) != null) {                    bufw.write(len);                    bufw.newLine();                    bufw.flush();                }            } catch(IOException e) {                System.out.println("User: "+e.toString());            } finally {                try {                    if(bufr != null) {                        bufr.close();                    }                    if(bufw != null) {                        bufw.close();                    }                } catch(IOException e) {                    System.out.println("User: "+e.toString());                }            }    }
0 0
原创粉丝点击