1.复制一个目录及其子目录、文件到另外一个目录

//复制一个目录及其子目录、文件到另外一个目录

public void copyFolder(File src, File dest) throws IOException {

if (src.isDirectory()) {

if (!dest.exists()) {

dest.mkdir();

}

String files[] = src.list();

for (String file : files) {

File srcFile = new File(src, file);

File destFile = new File(dest, file);

// 递归复制

copyFolder(srcFile, destFile);

}

} else {

InputStream in = new FileInputStream(src);

OutputStream out = new FileOutputStream(dest);

byte[] buffer = new byte[1024];

int length;

while ((length = in.read(buffer)) > 0) {

out.write(buffer, 0, length);

}

in.close();

out.close();

}

}

  1. private void copyFolder(File src, File dest) throws IOException {
  2.  
    if (src.isDirectory()) {
  3.  
    if (!dest.exists()) {
  4.  
    dest.mkdir();
  5.  
    }
  6.  
    String files[] = src.list();
  7.  
    for (String file : files) {
  8.  
    File srcFile = new File(src, file);
  9.  
    File destFile = new File(dest, file);
  10.  
    // 递归复制
  11.  
    copyFolder(srcFile, destFile);
  12.  
    }
  13.  
    } else {
  14.  
    InputStream in = new FileInputStream(src);
  15.  
    OutputStream out = new FileOutputStream(dest);
  16.  
     
  17.  
    byte[] buffer = new byte[1024];
  18.  
     
  19.  
    int length;
  20.  
     
  21.  
    while ((length = in.read(buffer)) > 0) {
  22.  
    out.write(buffer, 0, length);
  23.  
    }
  24.  
    in.close();
  25.  
    out.close();
  26.  
    }
  27.  
    }

Java 目录和文件的复制的更多相关文章

  1. java 7中文件的复制移动

    在java 7 中文件移动复制简单方法 文件移动 Path source=Paths.get("D:\\sa\\123.txt"); Path target=Paths.get(& ...

  2. Java目录下文件夹的含义和运行机制

    Java安装目录下的各个文件夹的意义 >bin 放置Java所有的可执行文件 >include 一些C语言的头文件 >jre Java的运行环境 >lib Java的类库文件 ...

  3. java中实现File文件的重命名(renameTo)、将文件移动到其他目录下、文件的复制(copy)、目录和文件的组合(更加灵活方便)

    欢迎加入刚建立的社区:http://t.csdn.cn/Q52km 加入社区的好处: 1.专栏更加明确.便于学习 2.覆盖的知识点更多.便于发散学习 3.大家共同学习进步 3.不定时的发现金红包(不多 ...

  4. Java复制目录/子目录/文件

    import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...

  5. java文件和文件夹复制、删除、移动操作

    java文件和文件夹复制.删除.移动操作 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputS ...

  6. Java NIO.2 —— 文件或目录移动操作

    移动文件树是复制和删除的文件树的结合.实际上,有两种方式来完成文件的移动.一种是使用Files.move(), Files.copy(), 和Files.delete() 这三个方法:另一种是只使用F ...

  7. Java IO流文件复制/解压的几种方法总结

    引言 在JavaWeb项目开发过程,涉及到IO文件的读写操作以及文件的复制copy操作是作为一个程序员不可获取的知识,那接下来就总结一些copy文件的一些方法,与大家通过学习,如果还有其他更好的方法, ...

  8. Java中将文件夹复制到另一个文件夹

    文件夹的拷贝*** public static void copyDir(String sourcePath, String newPath) { File start = new File(sour ...

  9. Java基础-输入输出-3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc。

    3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc. try { FileInputStream in = ...

随机推荐

  1. 第2章 构建springboot工程 2-2 使用Spring官方STS搭建SpringBoot工程

    项目名demo,SpringBoot的版本2.0.6 删了/demo/mvnw和/demo/mvnw.cmd.static文件夹包含静态文件,比如CSS.JS.templates文件夹是放模板的,Sp ...

  2. day35 02-Hibernate持久化对象状态及状态转换

    hibernate内置有一个c3p0,不用引入c3p0的jar包也行. 现在其实可以不用去创建表和实体类.因为hibernate可以自动帮我们生成.只要把映射建好了它就可以自动帮我们生成. 创建实体类 ...

  3. oracle行转列练习

    ----------------------第一题--------------------------- create table STUDENT_SCORE ( name ), subject ), ...

  4. ubuntu16.04 安装opencv3.4

    1.去官网下载opencv,在本教程中选用的时opencv3.4.1,其他版本的配置方法异曲同工. 下载链接http://opencv.org/releases.html,选择sources版本 2. ...

  5. 在Linux里安装jdk

    一.系统环境说明: [操作系统]:Ubuntu 18.04.1 Desktop [JDK]:jdk1.8.0_181,文件名称:jdk-8u181-linux-x64.tar 二.准备jdk文件 下载 ...

  6. Windows中lib和DLL区别和使用

    本文转载自:http://www.cppblog.com/amazon/archive/2009/09/04/95318.html 共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的 ...

  7. WOJ 18 动态无向图

    一开始我是不会写的,后来点开了题解: 无话可说……那就写吧……然而第一发跑成暴力分,后来加了一个优化:就是在询问里面提到过的边都不用再加了. 然后……然后就过了呀…… 其实还有面向数据的编程的骚操作… ...

  8. 在WindowsXP+IIS5.1下运行ASP.NET MVC3

    1. 安装ASP.NET MVC3 http://download.microsoft.com/download/1/4/C/14C0533D-2299-42CD-898C-10AA5156E243/ ...

  9. 海量推荐系统:mapreduce的方法

    1. Motivation 2. MapReduce MapReduce是一种数据密集型并行计算框架. 待处理数据以"块"为单位存储在集群机器文件系统中(HDFS),并以(key, ...

  10. 几款Web服务器性能压力测试工具

    一.http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载. 但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般 ...