`

Java 复制文件或文件夹

阅读更多

import java.io.*;
/**
* 复制文件夹或文件夹
*/
public class CopyDirectory {
// 源文件夹
static String url1 = "f:/photos";
// 目标文件夹
static String url2 = "d:/tempPhotos";
public static void main(String args[]) throws IOException {
// 创建目标文件夹
(new File(url2)).mkdirs();
// 获取源文件夹当前下的文件或目录
File[] file = (new File(url1)).listFiles();
for (int i = 0; i < file.length; i++) {
if (file[i].isFile()) {
// 复制文件
copyFile(file[i],new File(url2+file[i].getName()));
}
if (file[i].isDirectory()) {
// 复制目录
String sourceDir=url1+File.separator+file[i].getName();
String targetDir=url2+File.separator+file[i].getName();
copyDirectiory(sourceDir, targetDir);
}
}
}
// 复制文件
public static void copyFile(File sourceFile,File targetFile)
throws IOException{
// 新建文件输入流并对它进行缓冲
FileInputStream input = new FileInputStream(sourceFile);
BufferedInputStream inBuff=new BufferedInputStream(input);

// 新建文件输出流并对它进行缓冲
FileOutputStream output = new FileOutputStream(targetFile);
BufferedOutputStream outBuff=new BufferedOutputStream(output);

// 缓冲数组
byte[] b = new byte[1024 * 5];
int len;
while ((len =inBuff.read(b)) != -1) {
outBuff.write(b, 0, len);
}
// 刷新此缓冲的输出流
outBuff.flush();

//关闭流
inBuff.close();
outBuff.close();
output.close();
input.close();
}
// 复制文件夹
public static void copyDirectiory(String sourceDir, String targetDir)
throws IOException {
// 新建目标目录
(new File(targetDir)).mkdirs();
// 获取源文件夹当前下的文件或目录
File[] file = (new File(sourceDir)).listFiles();
for (int i = 0; i < file.length; i++) {
if (file[i].isFile()) {
// 源文件
File sourceFile=file[i];
// 目标文件
File targetFile=new
File(new File(targetDir).getAbsolutePath()
+File.separator+file[i].getName());
copyFile(sourceFile,targetFile);
}
if (file[i].isDirectory()) {
// 准备复制的源文件夹
String dir1=sourceDir + "/" + file[i].getName();
// 准备复制的目标文件夹
String dir2=targetDir + "/"+ file[i].getName();
copyDirectiory(dir1, dir2);
}
}
}
}

 

分享到:
评论

相关推荐

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

    Java 中实现复制文件或文件夹 在 Java 中,实现复制文件或文件夹需要使用 File 类和流操作。下面将详细介绍如何实现复制文件或文件夹的步骤和相关知识点。 复制文件 复制文件的算法相对简单,可以使用缓冲流提高...

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

    在Java编程语言中,复制文件和文件夹...总的来说,Java中复制文件和文件夹涉及到文件I/O操作,可以通过使用基本的流类或`Files`类来实现。在处理复杂文件系统操作时,确保正确处理边界条件和异常,以保证程序的健壮性。

    java文件夹及文件复制

    在复制文件或文件夹时,我们通常会用到`File`类和`FileInputStream`与`FileOutputStream`这两个输入输出流类。 1. **`File`类**:代表文件或者目录路径名的抽象表示。它提供了一些方法来创建、删除、重命名文件或...

    java复制文件及复制文件夹

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

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

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

    java复制文件和文件夹

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

    java 文件或文件夹 创建 删除 复制 移动 指定目录等

    java 文件或文件夹 创建 删除 复制 移动 指定目录等

    java实现文件和文件夹复制

    java文件夹和文件复制,

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

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

    java实现对文件或文件夹的压缩和解压缩

    在Java编程中,有时我们需要对文件或文件夹进行压缩和解压缩操作,这在数据传输、备份或存储优化等场景中十分常见。Apache提供了一个强大的第三方库——Commons Compress,它可以帮助我们处理各种格式的压缩文件,...

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

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

    java 文件及文件夹 操作源码

    此文件支持对文件及文件夹结构的多种操作,其中包括: 读取文本文件内容 遍历指定路径下指定后缀的所有文件 新建目录 多级目录创建 新建文件 有编码方式的文件创建 删除文件 删除文件夹 删除指定文件夹下所有文件 ...

    java文件复制,实现文件的复制

    当需要复制一个完整的文件夹时,除了复制文件之外,还需要考虑文件夹的创建和递归复制。下面是一段示例代码: ```java private static void copyFolder(String oldPath, String newPath) { try { (new File...

    java合并两个文件夹内容

    这个过程可以通过递归遍历源文件夹并逐个复制文件来实现。 以下是一个简单的Java代码示例,展示了如何合并两个文件夹: ```java import java.io.File; import java.io.IOException; public class FileFolderMerge...

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

    `Files.copy()`方法可以用来复制文件,并且可以设置是否覆盖已存在的目标文件。 ```java for (File file : files) { if (file.isDirectory()) { copyDirectory(file, new File("目标目录路径" + file.getName()))...

    java解压缩文件文件夹

    本文将详细讲解如何使用Java实现文件和文件夹的压缩以及解压缩功能。 首先,Java标准库提供了`java.util.zip`包,其中包含了一些用于处理ZIP和GZIP格式的类。在“java文件解压缩”的场景下,我们主要会用到`...

    复制文件和文件夹

    在IT领域,复制文件和文件夹是日常工作中非常常见的操作,尤其对于开发者来说,了解如何高效、正确地实现这一功能至关重要。在这个小程序中,我们可能会看到如何利用编程语言的内置函数或者自定义方法来实现这一目标...

    大量复制文件,批量的对文件和文件夹进行复制

    当我们复制文件或文件夹时,实际上是将数据从一个位置的硬盘扇区复制到另一个位置,同时在文件系统中创建新的条目来追踪这些副本。 在批量复制过程中,进度条的显示是非常重要的用户体验设计。它能帮助用户了解任务...

    Java程序_复制文件.jar

    Java程序“Java程序_复制文件.jar”是一个基于Java平台的实用工具,主要目的是演示如何在Java中实现文件的复制和移动操作。这个程序对于正在学习Java输入/输出(IO)和Swing GUI库的学生来说是一个很好的参考实例。...

    使用jsch中的ChannelSftp上传文件和文件夹.pdf

    在Java开发中,上传文件和文件夹是一项常见的任务,例如在服务器上上传文件或文件夹。JSch库提供了一个名为ChannelSftp的类,可以用来上传文件和文件夹。本文将详细介绍如何使用JSch中的ChannelSftp上传文件和文件夹...

Global site tag (gtag.js) - Google Analytics