zoukankan      html  css  js  c++  java
  • java copy 文件夹

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.Scanner;
    
    public class copy {
        public static void main(String[] args) throws IOException {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入源目录");
            String sourcePath = sc.nextLine();
            System.out.println("请输入新目录");
            String path = sc.nextLine();
            
            //String sourcePath = "D://aa";
            //String path = "D://bb";
            
            copyDir(sourcePath, path);
        }
        
        public static void copyFile(String oldPath, String newPath) throws IOException {
            File oldFile = new File(oldPath);
            File file = new File(newPath);
            FileInputStream in = new FileInputStream(oldFile);
            FileOutputStream out = new FileOutputStream(file);;
    
            byte[] buffer=new byte[2097152];
            int readByte = 0;
            while((readByte = in.read(buffer)) != -1){
                out.write(buffer, 0, readByte);
            }
        
            in.close();
            out.close();
        }
        
        public static void copyDir(String sourcePath, String newPath) throws IOException {
            File file = new File(sourcePath);
            String[] filePath = file.list();
            
            if (!(new File(newPath)).exists()) {
                (new File(newPath)).mkdir();
            }
            
            for (int i = 0; i < filePath.length; i++) {
                if ((new File(sourcePath + file.separator + filePath[i])).isDirectory()) {
                    copyDir(sourcePath  + file.separator  + filePath[i], newPath  + file.separator + filePath[i]);
                }
                
                if (new File(sourcePath  + file.separator + filePath[i]).isFile()) {
                    copyFile(sourcePath + file.separator + filePath[i], newPath + file.separator + filePath[i]);
                }
                
            }
        }
    }
  • 相关阅读:
    java程序员究竟应该掌握点什么
    Java程序员集合框架面试题
    数组名和数组名取地址的区别
    二维、三维数组转一维数组
    函数指针 行指针 指针数组
    转:如何成为一个优秀的程序员
    转:最小堆的数组实现
    for_each使用方法详解[转]
    c++虚函数的作用是什么?
    转:C语言 可变参数
  • 原文地址:https://www.cnblogs.com/yaowen/p/9418778.html
Copyright © 2011-2022 走看看