java复制文件或者文件夹
package com.css.yzh;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
public class BackUp {
/**
* 复制单个文件
* @param oldPath String 原文件路径 如:c:/fqf.txt
* @param newPath String 复制后路径 如:f:/fqf.txt
* @return boolean
*/
public void copyFile(String oldPath, String newPath) {
try {
int bytesum = 0;
int byteread = 0;
File oldfile = new File(oldPath);
if (oldfile.exists()) { //文件存在时
InputStream inStream = new FileInputStream(oldPath); //读入原文件
FileOutputStream fs = new FileOutputStream(newPath);
byte[] buffer = new byte[1444];
int length;
while ( (byteread = inStream.read(buffer)) != -1) {
bytesum += byteread; //字节数 文件大小
System.out.println(bytesum);
fs.write(buffer, 0, byteread);
}
inStream.close();
}
}
catch (Exception e) {
System.out.println("复制单个文件操作出错");
e.printStackTrace();
}
}
/**
* 复制整个文件夹内容
* @param oldPath String 原文件路径 如:c:/fqf
* @param newPath String 复制后路径 如:f:/fqf/ff
* @return boolean
*/
public void copyFolder(String oldPath, String newPath) {
try {
(new File(newPath)).mkdirs(); //如果文件夹不存在 则建立新文件夹
File a=new File(oldPath);
String[] file=a.list();
File temp=null;
for (int i = 0; i < file.length; i++) {
if(oldPath.endsWith(File.separator)){
temp=new File(oldPath+file[i]);
}
else{
temp=new File(oldPath+File.separator+file[i]);
}
if(temp.isFile()){
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(newPath + "/" +
(temp.getName()).toString());
byte[] b = new byte[1024 * 5];
int len;
while ( (len = input.read(b)) != -1) {
output.write(b, 0, len);
}
output.flush();
output.close();
input.close();
}
if(temp.isDirectory()){//如果是子文件夹
copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);
}
}
}
catch (Exception e) {
System.out.println("复制整个文件夹内容操作出错");
e.printStackTrace();
}
}
public static void main(String args[]){
BackUp bp = new BackUp();
bp.copyFolder("D:\\a","E:\\b");
}
}
转载:http://blog.163.com/yangzhanghui_job/blog/static/179575062201271335927750/
分享到:
相关推荐
本教程将详细讲解如何使用Java的文件I/O(Input/Output)功能,通过递归的方式来实现文件及文件夹的复制,并着重关注在递归过程中变量属性的管理。 首先,我们需要理解Java中的`java.io`包,它提供了处理文件和流的...
此外,Java 7及更高版本提供了`Files.copy()`方法,它可以更简洁地完成文件和文件夹的复制,同时支持追加模式、保留文件属性和异常处理等功能。例如: ```java import java.nio.file.Files; import java.nio.file....
文件夹可能包含多个子文件和子文件夹,我们需要遍历它们并将每个文件或文件夹复制到新位置。这里是一个基本的实现: ```java import java.io.*; import java.nio.file.Files; import java.nio.file.Path; import ...
此文件支持对文件及文件夹结构的多种操作,其中包括: 读取文本文件内容 遍历指定路径下指定后缀的所有文件 新建目录 多级目录创建 新建文件 有编码方式的文件创建 删除文件 删除文件夹 删除指定文件夹下所有文件 ...
java文件夹和文件复制,
java 文件或文件夹 创建 删除 复制 移动 指定目录等
改代码,用java简单的实现了文件夹、文件的复制
### 文件及文件夹复制:深度解析与实现策略 在IT领域,文件及文件夹的复制是一项基础但极其重要的操作,特别是在处理大批量数据转移时。本文将深入探讨文件及文件夹复制的技术细节,包括其核心原理、实现机制以及在...
Java文件夹复制功能是通过编程实现的,主要涉及到文件操作和网络通信两个核心知识点。这里有两个关键类:`FileSelection` 和 `BackupClient`。`FileSelection` 类用于选择和组织待复制的文件,而 `BackupClient` 类...
Java 中实现复制文件或文件夹 在 Java 中,实现复制文件或文件夹需要使用 File 类和流操作。下面将详细介绍如何实现复制文件或文件夹的步骤和相关知识点。 复制文件 复制文件的算法相对简单,可以使用缓冲流提高...
ame()); tOut.putArchiveEntry(tarEntry);...通过引入该库,我们可以轻松地在 Java 程序中实现文件和文件夹的压缩与解压缩功能。在实际开发中,注意错误处理、资源管理以及安全性等方面,以确保程序的健壮性和安全性。
### Java文件和文件夹操作大全:深度解析与实践指南 #### 一、创建文件夹与文件 在Java中,创建文件夹与文件是基础而重要的功能。通过`java.io.File`类,我们可以轻松实现这些操作。 **创建文件夹示例**: ```...
本案例的标题和描述提到了“监听文件下文件发生变化时复制文件到另一个文件夹”,这通常涉及到文件系统的观察者模式(Observer Pattern)和多线程技术。 首先,我们需要理解“监听文件”这一概念。在操作系统层面,...
以上就是使用Java实现文件夹复制及删除的基本步骤。在实际应用中,你可能还需要考虑其他因素,如错误处理、权限控制、异步执行等。记住,始终确保在操作文件时有足够的权限,并且在可能的情况下使用异常处理来增加...
总的来说,Java实现文件夹复制涉及文件系统操作、文件读写以及可能的递归调用,这些是Java开发中基础但重要的技能。在实际项目中,我们还需要考虑性能优化、权限控制、错误处理等因素,以确保复制操作的稳定性和可靠...
Java 文件复制粘贴 Java 文件复制粘贴是指使用 Java 语言实现文件的复制和粘贴操作。在本节中,我们将介绍 Java 文件复制粘贴的实现方法。 文件复制粘贴的重要性 文件复制粘贴是计算机操作系统中的一种基本操作。...
本文将深入探讨如何使用Java实现文件及文件夹的复制功能,包括其内部的嵌套文件和各种格式的文件,如文本、图片等。 首先,我们需要了解Java中的`java.io`包,它提供了大量的类用于处理输入/输出操作,如`File`、`...
对于备份到目标文件夹,你可能需要在压缩完成后,将ZIP文件复制到指定的位置。这可以通过`Files.copy`方法实现,只要提供源文件和目标文件的路径即可。 在解压缩方面,可以使用`ZipFile`类来读取ZIP文件,然后通过`...
纯java实现,nio复制。其中文件夹复制同步使用channel实现,文件夹的交并集对比使用lamda实现,文件的同步比对逻辑通过比对文件的大小、日期、修改时间等实现