zoukankan      html  css  js  c++  java
  • 文件夹的拷贝

    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());
    	            }
    	        }
        }
    
  • 相关阅读:
    整理+学习《骆昊-Java面试题全集(下)》
    整理+学习《骆昊-Java面试题全集(中)》
    Linux专家心目中的最佳Linux发行版有哪些?
    常用的Git Tips
    Python 3 加密简介
    LXD 2.0 系列(一):LXD 入门
    英特尔构建云集成编排工具
    Unix操作系统中UUCP知识详细讲解
    Windows 的 AD 域寄生于 Linux 机器
    Git秘籍:在 Git 中进行版本回退
  • 原文地址:https://www.cnblogs.com/rancvl/p/5442349.html
Copyright © 2011-2022 走看看