`

java 复制文件夹和文件下所有文件

 
阅读更多

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

相关推荐

    java文件夹及文件复制

    3. **递归复制文件夹**:当需要复制一个文件夹及其所有子文件夹和文件时,我们会使用递归方法。基本步骤如下: - 检查是否为文件夹:使用`File.isDirectory()`方法判断。 - 创建目标文件夹:如果目标路径不存在,...

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

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

    java复制文件及复制文件夹

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

    监听文件下文件发生变化时复制文件到另一个文件夹

    本案例的标题和描述提到了“监听文件下文件发生变化时复制文件到另一个文件夹”,这通常涉及到文件系统的观察者模式(Observer Pattern)和多线程技术。 首先,我们需要理解“监听文件”这一概念。在操作系统层面,...

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

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

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

    3. 遍历文件或目录,如果是文件则复制文件,如果是目录则递归调用复制文件夹方法 4. 关闭流 在 Java 中,可以使用 File 类的 listFiles() 方法获取源文件夹当前下的文件或目录。使用 mkdirs() 方法可以创建目标...

    读取文件夹中所有文件中的内容

    为了读取文件夹下的所有文件,我们可以使用`java.nio.file.Files`类中的`newDirectoryStream`方法。该方法可以获取文件夹下的所有子项,并遍历这些子项进行进一步的操作。 ```java Path path = new File(pathname)....

    java实现文件和文件夹复制

    java文件夹和文件复制,

    JAVA复制文件夹

    复制文件夹涉及到递归操作,因为文件夹内可能包含子文件夹和文件。以下是一般的步骤: 1. 遍历源文件夹中的所有文件和子文件夹,可以使用File类的listFiles()方法。 2. 对每个文件,执行上述的单个文件复制操作。 3...

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

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

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

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

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

    在Java编程语言中,压缩和解压缩文件是常见的任务,特别是在数据备份、文件传输和存储优化的场景下。本文将详细讲解如何运用Java来实现文件夹的压缩,并将其备份到目标文件夹。首先,我们需要了解Java中用于处理压缩...

    JAVA SMB共享文件夹操作文件jar支持smb2、smb3.rar

    Java SMB(Server Message Block)库是用于在Java应用程序中访问和操作网络共享文件系统的工具,主要应用于Windows环境,但也可支持其他支持SMB协议的系统。SMB是一种网络通信协议,允许网络上的计算机共享文件、...

    遍历文件夹中的路径复制目录文件.rar

    2. **遍历文件夹**:使用`File`类的`list()`或`listFiles()`方法可以获取目录下的所有文件和子目录。通过递归调用,我们可以遍历整个目录树。 3. **复制文件**:传统的方法是使用`FileInputStream`和`...

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

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

    java复制文件和文件夹

    在Java编程语言中,复制文件和文件夹是一项常见的任务,特别是在处理数据迁移、备份或创建应用程序副本时。本文将深入探讨如何使用Java实现文件及文件夹的复制功能,包括其内部的嵌套文件和各种格式的文件,如文本、...

    java下载文件、图片、文件夹.docx

    它首先创建目标目录,然后遍历源目录下的所有文件和子目录,对每个文件调用 `copyFile`,对每个子目录递归调用 `copyDirectiory`。 在实际开发中,你可能还需要处理权限问题,检查文件是否存在,处理网络请求,或者...

    java实现文件夹复制

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

    java文件夹的拷贝

    使用`File`类的`listFiles()`方法可以获取目录下的所有文件和子目录。递归调用此方法可以遍历整个目录树。在遍历过程中,我们需要注意处理两种情况:文件和子目录。对于文件,直接进行复制;对于子目录,先创建目标...

    JAVA 对文件夹操作

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

Global site tag (gtag.js) - Google Analytics