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 + "//" + filePath[i])).isDirectory()) {

//                File newDir = new File(path + "//" + filePath[i]);
//                if (!newDir.exists()) {
//                    newDir.mkdir();
//                }
                copyDir(oldPath + "//"  + filePath[i], newPath  + "//" + filePath[i]);
            }

            if (new File(oldPath + "//" + filePath[i]).isFile()) {

                copyFile(oldPath + "//" + filePath[i], newPath + "//" + 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);
    }
时间: 2024-08-01 04:54:55

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

将一个文件夹中的所有图片压缩,并保存到另一个文件夹中

from PIL import Image from os import listdir import numpy as np path = '/home/hscuabc/WorkSpace/Python-srf/深度神经网络/data/人脸识别测试数据/negdata' save_path = '/home/hscuabc/WorkSpace/Python-srf/深度神经网络/data/人脸识别测试数据/reshape_negdata' w_expect = 20;l_expect = 20

Ubuntu中开启MySQL远程访问功能,并将另一个数据库服务器中的数据迁移到新的服务器中

一.开启MyS远程访问功能 1.进入服务器输入netstat -an | grep 3306确认3306是否对外开放,MySQL默认状态下是不对外开放访问功能的.输入以上命令之后如果端口没有被开放就会显示 <strong>显示结果:tcp 0 0 127.0.0.1:3306 0.0.0.0:*LISTEN</strong> 2.从上面的显示结果可以看出,mysql的3306端口只是监听本地的连接,这样就阻碍了外部ip对该数据库的访问,这样就需要修改mysql配置文件, 输入vim

将div(A)中的多个div逐个移动到另外一个div(B)中,在B中随意移动

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="../../common/jquery-1.8.3.min.js"></script> <style> *{ margin:0; padding:0

Java File IO 练习题:把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件

package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.In

tcl/tk实例详解——返回一个文件夹下所有文件的绝对路径

http://blog.csdn.net/dulixin/article/details/2133840 #所有代码如下,使用注释的方式讲解脚本#修改好文件夹和保存结果路径,可以把本文件直接拷贝进tcl解释器运行 #脚本目的:返回一个文件夹下所有的文件的绝对路径#主要讲述和操作的命令cd.pwd.glob#次要命令:file.open.catch #脚本思想:使用递归返回所有的文件路径,可以遍历到所有的子文件夹 #脚本以在window目录下为例,需要在其它系统下请修改路径名#需要返回文件路径的文

比较两个文件中,一个文件比另一个文件多的行

1. 该脚本用来比较两个文件中,其中一个文件比另一个文件多的行,常用来工作环境中,对比得出多余的ip地址 #!/bin/bash #different in file1 and file2 #author:vaedit #date:2017/8/20 #read -p "请输入第一个文件路径" file1 #read -p "请输入第二个文件路径" file2 function print_help(){ echo "该脚本只用来对比一个文件比另一个文件多

Electron构建一个文件浏览器应用(二)

在前一篇文章我们已经学习到了使用Electron来构建我们的文件浏览器了基础东西了,我们之前已经完成了界面功能和显示文件或文件夹的功能了,想看之前文章,请点击这个链接  .现在我们需要在之前的基础上来继续完成余下的功能,我们之前的只完成了界面和显示文件夹或文件.那么这篇文章我们需要完成如下功能: 1. 如果它是一个文件夹,我们可以对该文件夹进行双击,然后打开该文件夹.2. 当前文件夹就是刚刚我们双击的那个文件夹.3. 如果它内部有子文件夹的时候,我们也可以双击,然后重复第一步的操作步骤. 那么在

linux系统上如何快速的查找一个文件?

以前看到过一句话:linux的水平体现在快速查找文件上~~~ ,或许这句话言过其实 但是因为linux上一切皆文件,任何我们想做的事情都可以通过编辑文件来完成, 如服务器的配置,维护,一切的一切我们都是在与文件打交道~·~· 下面我给大家介绍如何快速的查找一个文件 假如 查找的是脚本文件(执行文件)which filename 查找的是二进制的文件(执行文件)whereis -b filename 查找特定文件   whereis filename   (利用数据库来查找) locate 文件的

【转载】在Linux下,一个文件也有三种时间,分别是:访问时间、修改时间、状态改动时间

在windows下,一个文件有:创建时间.修改时间.访问时间.而在Linux下,一个文件也有三种时间,分别是:访问时间.修改时间.状态改动时间. 两者有此不同,在Linux下没有创建时间的概念,也就是不能知道文件的建立时间,但如果文件建立后就没有修改过,修改时间=建立时间;如果文件建立后,状态就没有改动过,那么状态改动时间=建立时间;如果文件建立后,没有被读取过,那么访问时间=建立时间,因为不好判断文件是否被改过.读过.其状态是否变过,所以判断文件的建立时间基本上能为不可能. 如何查一个文件的三

shell中的cut和paste函数,可以从多个文本中提取特定的列

shell中的cut和paste函数,可以从多个文本中提取特定的列,然后合并成为一个文件,方便下游分析中用R语言read.table()读取,进行分析作图. cut -d 分隔符 -f 列索引 cut -d '.' -f 2-5,8 file.txt #将文件file.txt以分隔符.进行分割,并取出第2列到第5列还有第8列的数据. paste file1 file2 > file3 原文地址:https://www.cnblogs.com/liuyin-2019/p/11846112.html