java复制文件夹中的所有文件和文件夹到另一个文件夹中

1.复制文件夹

public static void copyDir(String oldPath, String newPath) throws IOException {
        File file = new File(oldPath);
//文件名称列表 String[] filePath
= file.list(); if (!(new File(newPath)).exists()) { (new File(newPath)).mkdir(); } for (int i = 0; i < filePath.length; i++) { if ((new File(oldPath + file.separator + filePath[i])).isDirectory()) { copyDir(oldPath + file.separator + filePath[i], newpath + file.separator + filePath[i]); } if (new File(oldPath + file.separator + filePath[i]).isFile()) { copyFile(oldPath + file.separator + filePath[i], newpath + file.separator + filePath[i]); } } }

2. 复制文件的方法

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];
        
        while((in.read(buffer)) != -1){
            out.write(buffer);
        }  
 }

3. 测试

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);
    }

 

posted @ 2018-05-22 15:50  zhaoyanhao  阅读(10902)  评论(1编辑  收藏  举报