`
xiao_hua
  • 浏览: 38782 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java 复制文件夹

阅读更多
拷贝一个文件的算法比较简单,当然,可以对它进行优化,比如使用缓冲流,提高读写数据的效率等。但是在复制文件夹时,则需要利用Flie类在目标文件夹中创建相应的目录,并且使用递归方法。

   1. import java.io.*;
   2. /**
   3.  * 复制文件夹或文件夹
   4.  */
   5. public class CopyDirectory {
   6.     // 源文件夹
   7.     static String url1 = "f:/photos";
   8.     // 目标文件夹
   9.     static String url2 = "d:/tempPhotos";
  10.     public static void main(String args[]) throws IOException {
  11.         // 创建目标文件夹
  12.         (new File(url2)).mkdirs();
  13.         // 获取源文件夹当前下的文件或目录
  14.         File[] file = (new File(url1)).listFiles();
  15.         for (int i = 0; i < file.length; i++) {
  16.             if (file[i].isFile()) {
  17.                 // 复制文件
  18.                 copyFile(file[i],new File(url2+file[i].getName()));
  19.             }
  20.             if (file[i].isDirectory()) {
  21.                 // 复制目录
  22.                 String sourceDir=url1+File.separator+file[i].getName();
  23.                 String targetDir=url2+File.separator+file[i].getName();
  24.                 copyDirectiory(sourceDir, targetDir);
  25.             }
  26.         }
  27.     }
  28. // 复制文件
  29. public static void copyFile(File sourceFile,File targetFile)
  30. throws IOException{
  31.         // 新建文件输入流并对它进行缓冲
  32.         FileInputStream input = new FileInputStream(sourceFile);
  33.         BufferedInputStream inBuff=new BufferedInputStream(input);
  34.
  35.         // 新建文件输出流并对它进行缓冲
  36.         FileOutputStream output = new FileOutputStream(targetFile);
  37.         BufferedOutputStream outBuff=new BufferedOutputStream(output);
  38.        
  39.         // 缓冲数组
  40.         byte[] b = new byte[1024 * 5];
  41.         int len;
  42.         while ((len =inBuff.read(b)) != -1) {
  43.             outBuff.write(b, 0, len);
  44.         }
  45.         // 刷新此缓冲的输出流
  46.         outBuff.flush();
  47.        
  48.         //关闭流
  49.         inBuff.close();
  50.         outBuff.close();
  51.         output.close();
  52.         input.close();
  53.     }
  54.     // 复制文件夹
  55.     public static void copyDirectiory(String sourceDir, String targetDir)
  56.             throws IOException {
  57.         // 新建目标目录
  58.         (new File(targetDir)).mkdirs();
  59.         // 获取源文件夹当前下的文件或目录
  60.         File[] file = (new File(sourceDir)).listFiles();
  61.         for (int i = 0; i < file.length; i++) {
  62.             if (file[i].isFile()) {
  63.                 // 源文件
  64.                 File sourceFile=file[i];
  65.                 // 目标文件
  66.                File targetFile=new
  67. File(new File(targetDir).getAbsolutePath()
  68. +File.separator+file[i].getName());
  69.                 copyFile(sourceFile,targetFile);
  70.             }
  71.             if (file[i].isDirectory()) {
  72.                 // 准备复制的源文件夹
  73.                 String dir1=sourceDir + "/" + file[i].getName();
  74.                 // 准备复制的目标文件夹
  75.                 String dir2=targetDir + "/"+ file[i].getName();
  76.                 copyDirectiory(dir1, dir2);
  77.             }
  78.         }
  79.     }
  80. }
分享到:
评论

相关推荐

    JAVA复制文件夹

    在Java编程中,复制文件夹是一项常见的操作,特别是在处理数据迁移、备份或系统部署时。本文将深入探讨如何使用Java实现文件夹及其内容的复制,包括文件的读取、写入以及创建新文件等核心知识点。 首先,我们需要...

    java实现一个目录下全部文件复制到另一目录

    在Java编程语言中,复制一个目录下的所有文件到另一个目录是一项常见的任务,特别是在处理文件系统操作时。这个过程涉及到文件的遍历、读取和写入。以下将详细讲解如何实现这一功能,以及相关的Java API和技术点。 ...

    运用java压缩文件夹并备份至目标文件夹

    对于备份到目标文件夹,你可能需要在压缩完成后,将ZIP文件复制到指定的位置。这可以通过`Files.copy`方法实现,只要提供源文件和目标文件的路径即可。 在解压缩方面,可以使用`ZipFile`类来读取ZIP文件,然后通过`...

    java复制文件及复制文件夹

    在Java编程中,复制文件和复制文件夹是常见的操作,特别是在处理数据迁移、备份或程序部署时。下面我们将深入探讨如何使用Java实现这些功能,并提供相关的代码示例。 首先,让我们看看如何复制单个文件。Java标准库...

    java实现文件夹复制

    在Java编程中,复制文件夹是一项常见的任务,特别是在处理数据迁移、备份或程序部署时。以下将详细讲解如何使用Java实现文件夹的复制。 首先,我们需要理解文件和文件夹的基本操作。在Java中,`java.io`包提供了...

    java中实现复制文件和文件夹

    在Java编程语言中,复制文件和文件夹是一个常见的任务,特别是在处理文件系统操作时。这里我们将深入探讨如何使用Java实现这个功能。 首先,让我们来看一下标题中提到的`copyFile`方法,这是一个用于复制单个文件的...

    java文件夹及文件复制

    下面是一个简单的递归复制文件夹的Java代码示例: ```java public void copyDirectory(File source, File target) { if (source.isDirectory()) { if (!target.exists()) { target.mkdir(); } String[] ...

    java文件夹的拷贝

    综上所述,Java文件夹的拷贝涉及了文件系统的操作、文件和目录的遍历、文件的读写与复制等多个知识点。`copyFile.java`源码文件为我们提供了一个基础的实现,通过理解和扩展这个代码,我们可以根据实际需求构建更...

    JAVA 对文件夹操作

    复制文件夹通常涉及递归处理源文件夹中的所有文件和子文件夹,并将它们复制到目标位置。这里的关键在于正确地处理文件夹结构,确保目标位置的文件夹结构与源文件夹完全一致。 ##### 代码实现: ```java private ...

    java实现文件或者文件夹的复制

    改代码,用java简单的实现了文件夹、文件的复制

    java 文件夹复制拷贝

    在Java编程中,文件夹复制是一项常见的操作,特别是在系统备份、数据迁移或者程序部署等场景。本篇将详细讲解如何实现文件夹的复制,并在复制完成后删除原文件夹。我们将基于给定的`FileCopy.java`文件来探讨相关...

    java实现文件夹同步/对比功能

    纯java实现,nio复制。其中文件夹复制同步使用channel实现,文件夹的交并集对比使用lamda实现,文件的同步比对逻辑通过比对文件的大小、日期、修改时间等实现

    java实现多级文件夹的复制

    用java实现的多级文件夹的复制,可用于文件复制的复制与备份

    Java代码复制文件夹以及子文件夹、文件内容

    文件复制功能。如运行:java CopyFile from to,将from文件内的数据复制到to文件中,如果from为文件夹,则复制文件夹及其所有的子文件

    java移动或复制文件夹:FileUtil

    java移动或复制文件夹:FileUtil

    Java文件夹复制(远程复制(网络传输),用于远程备份文件)

    Java文件夹复制功能是通过编程实现的,主要涉及到文件操作和网络通信两个核心知识点。这里有两个关键类:`FileSelection` 和 `BackupClient`。`FileSelection` 类用于选择和组织待复制的文件,而 `BackupClient` 类...

    Java中实现复制文件或文件夹

    复制文件夹需要使用 File 类在目标文件夹中创建相应的目录,并且使用递归方法。下面是复制文件夹的步骤: 1. 创建目标文件夹 2. 获取源文件夹当前下的文件或目录 3. 遍历文件或目录,如果是文件则复制文件,如果是...

    Java使用递归复制文件夹及文件夹

    Java 使用递归复制文件夹及文件夹 Java 使用递归复制文件夹及文件夹是 Java 编程语言中的一种常见操作,主要用于复制文件夹及文件夹中的所有文件和子文件夹。下面我们将详细介绍 Java 使用递归复制文件夹及文件夹的...

    java 批量复制文件并把路径插入到数据库表中

    java 批量复制文件并把路径插入到数据库表中; 包括:读取文件夹列表、子文件夹;新建一个文件夹;Oracle数据库链接; 修改一下链接数据库以及文件夹路径即可

Global site tag (gtag.js) - Google Analytics