美文网首页
Java,复制文件夹及所有子文件,并排重

Java,复制文件夹及所有子文件,并排重

作者: 小明好爱学习 | 来源:发表于2020-02-20 18:28 被阅读0次

直接复制下面代码即可,可直接使用

public static void moveFile(String orgin_path, String moved_path) {
        File[] files = new File(orgin_path).listFiles();
        for (File file : files) {
            if (file.isFile()) {// 如果是文件
                File movedFile = new File(moved_path + File.separator + file.getName());
                  // 如果文件已经存在则跳过
                if (movedFile.exists()) {
                    System.out.println("文件已经存在1:" + file.getAbsolutePath());
                    System.out.println("文件已经存在2:" + movedFile.getAbsolutePath());
                    continue;
                } else {
                    // 否则复制
                    try {
                        FileUtil.copyFile(file, movedFile);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
            if (file.isDirectory()) {// 如果是目录,就递归
                String childMPath = moved_path + File.separator + file.getName();
                new File(childMPath).mkdir();
                moveFile(file.getAbsolutePath(), childMPath);
            }
        } 
    }

    public static void copyFile(File resource, File target) throws Exception {
        FileInputStream inputStream = new FileInputStream(resource);
        BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
        FileOutputStream outputStream = new FileOutputStream(target);
        BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);
        byte[] bytes = new byte[1024 * 2];
        int len = 0;
        while ((len = inputStream.read(bytes)) != -1) {
            bufferedOutputStream.write(bytes, 0, len);
        }
        bufferedOutputStream.flush();
        bufferedInputStream.close();
        bufferedOutputStream.close();
        inputStream.close();
        outputStream.close();
        long end = System.currentTimeMillis();
    }

相关文章

  • Java,复制文件夹及所有子文件,并排重

    直接复制下面代码即可,可直接使用

  • Linux常用命令

    修改文件名 创建文件夹 复制文件夹及文件夹里的所有内容 解压文件 创建文件

  • Spring拦截器中/*和/**有什么区别

    /* 是拦截所有的文件夹,不包含子文件夹/** 是拦截所有的文件夹及里面的子文件夹 Example:http://...

  • Linux常用命令收集

    1,修改文件夹及所有子文件和文件夹的权限sudo chmod 777 *** -R2,递归删除其所有子文件rm ...

  • 007—Linux常用命令

    解压 改名称 复制文件夹 对文件夹及其子文件赋权 Centos操作 查询Java还有哪些 删除 安装jdk 关闭防火墙

  • Linux常用命令

    cp 复制复制文件夹的时候,需要复制整个文件夹和文件夹下面的所有文件需要用到参数r 例子1 将test文件夹复制...

  • Mac常用的命令

    [Mac]删除文件夹及子文件夹下的所有pattern文件find . -name '._*' -type f -d...

  • Linux学习笔记

    常用命令 ls:显示当前文件夹下的所有文件及子文件夹 ls -a:显示当前文件夹下所有文件,包括隐藏文件 ls -...

  • 常用Linux命令

    文件复制 文件远程复制 删除 删除文件 删除非空文件夹 文件移动 移动文件 移动文件夹下的所有 文件远程复制 用户...

  • Linux常用命令(不定期更新。。。。)

    删除文件夹及文件夹里的所有文件 检查有没有生成ssh-key 生成ssh-key 修改用户密码 复制文件 移动文件

网友评论

      本文标题:Java,复制文件夹及所有子文件,并排重

      本文链接:https://www.haomeiwen.com/subject/fpffqhtx.html