- 浏览: 43512 次
- 性别:
- 来自: 深圳
文章分类
最新评论
//实现功能:将D:/upload文件夹的所有内容压缩到d:/test.zip
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;
public class ZipTest {
public static void makeZipfile(File file,String dir,ZipOutputStream zout) throws Exception{
//定义文件位置
if(dir.length()>0){
dir = dir + "/" + file.getName();
}else{
dir = dir + file.getName();
}
if(file.isDirectory()){
File[] files = file.listFiles();
int i = 0;
while(i<files.length){
makeZipfile(files[i],dir,zout);
i++;
}
}else{
byte[] data = new byte[256];
FileInputStream fin = new FileInputStream(file);
BufferedInputStream bin = new BufferedInputStream(fin,256);
ZipEntry entry = new ZipEntry(dir);
zout.putNextEntry(entry);
int b;
while((b=bin.read(data,0,256))!=-1){
zout.write(data,0,b);
}
fin.close();
bin.close();
}
}
public static void main(String[] args){
try {
File file = new File("D:/upload");
FileOutputStream fout = new FileOutputStream("d:/test.zip");
BufferedOutputStream bout = new BufferedOutputStream(fout);
ZipOutputStream zout = new ZipOutputStream(bout);
makeZipfile(file,"",zout);
zout.close();
bout.close();
fout.close();
}catch (Exception e) {
e.printStackTrace();
}
}
}
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;
public class ZipTest {
public static void makeZipfile(File file,String dir,ZipOutputStream zout) throws Exception{
//定义文件位置
if(dir.length()>0){
dir = dir + "/" + file.getName();
}else{
dir = dir + file.getName();
}
if(file.isDirectory()){
File[] files = file.listFiles();
int i = 0;
while(i<files.length){
makeZipfile(files[i],dir,zout);
i++;
}
}else{
byte[] data = new byte[256];
FileInputStream fin = new FileInputStream(file);
BufferedInputStream bin = new BufferedInputStream(fin,256);
ZipEntry entry = new ZipEntry(dir);
zout.putNextEntry(entry);
int b;
while((b=bin.read(data,0,256))!=-1){
zout.write(data,0,b);
}
fin.close();
bin.close();
}
}
public static void main(String[] args){
try {
File file = new File("D:/upload");
FileOutputStream fout = new FileOutputStream("d:/test.zip");
BufferedOutputStream bout = new BufferedOutputStream(fout);
ZipOutputStream zout = new ZipOutputStream(bout);
makeZipfile(file,"",zout);
zout.close();
bout.close();
fout.close();
}catch (Exception e) {
e.printStackTrace();
}
}
}
发表评论
-
java注解
2019-03-27 13:42 0https://blog.csdn.net/mrs_wu/a ... -
jsonp原理
2019-03-26 15:39 0https://blog.csdn.net/hansexpl ... -
BufferedImage在linux下createGraphics卡住的问题
2019-02-28 17:30 0BufferedImage在linux下createGra ... -
记第二次面试(平安)
2019-02-21 22:31 01.JVM调优 2.线程池,几种线程的帮助类 3.Has ... -
ueditor处理webp图片
2019-02-28 17:26 658今天运营MM突然说,资讯管理功能用不了,从 ... -
记一次面试(金地)
2019-01-28 09:40 0首先是笔试部分: 1. ... -
java io
2018-11-28 23:43 0https://www.cnblogs.com/hoojj ... -
Java 集合详解
2018-11-26 15:27 0https://www.cnblogs.com/ysocean ... -
Redis分布式锁的正确实现方式
2018-10-06 10:44 503分布式锁一般有三种实现方式: 1. 数据库乐观锁; 2 ... -
在 CentOS7 上安装 Tomcat9
2018-01-30 19:25 3536 下载 apache-tomcat-9.0.0.M4.t ... -
在CentOS7上安装JDK1.8
2018-01-30 18:50 3641 通过 SecureCRT 连接到阿里云 CentOS7 ... -
centos7自定义安装redis
2017-12-18 16:26 5291.下载 wget http://download.re ... -
centos7自定义安装mysql5.7
2017-12-15 18:12 4711.查找卸载原有的mysql 方法1 rpm -qa| ... -
centos7 安装nginx
2017-12-13 18:18 3141.解压 tar -xf nginx-1.10.1.ta ... -
mysqldump 每日定时备份
2017-09-25 19:37 604首先编写脚本: date_cur=$(date &quo ... -
centos7 安装nginx
2017-05-15 16:07 01、下载nginx-release包 以CentOS 7为 ... -
读书笔记
2017-04-18 11:31 02017-04-18 1.程序员,这 ... -
centos7下mongodb的安装与配置
2017-04-13 16:59 6851.下载mongodb安装包 https://www.m ... -
服务器迁移心得
2016-11-04 15:22 4751.数据传输直接从源到目标,不要经过自己的电脑,用到的li ... -
svn lock
2016-09-13 10:33 431在网上的解决方案中,往往都是通过Clean up来解决,如下 ...
相关推荐
2. **文件遍历**:在压缩文件夹时,需要遍历文件夹内的所有文件和子文件夹。这可以通过递归函数来实现,对每个找到的文件调用压缩算法。 3. **压缩算法**:常见的压缩算法有LZ77(如gzip)、DEFLATE(如ZIP)和...
在这个"易语言模块压缩文件夹.rar"中,我们可以推测包含了一些易语言的扩展模块,这些模块可能是为了方便开发者处理文件压缩相关的功能。 文件压缩在计算机领域是一项基本技术,它可以帮助我们减小文件体积,便于...
7z批量压缩文件夹 请正确默认安装7z程序 然后把下载的资源放置到需要压缩的文件夹同一个目录里 例如当前目录里有1 2 3 4等文件夹。把程序放到一起。运行程序,稍等会自动压缩好1 2 3 4文件夹压缩包
- 在压缩文件夹时,避免压缩正在被其他进程使用的文件,以免出现错误。 - 大文件或大量文件的压缩可能会消耗较多系统资源,注意性能优化。 - 如果需要加密压缩文件,`ZipArchive`类提供了一些选项可以设置密码...
VB6.0调用 DLL版ZIP压缩文件夹目录和解压ZIP文件,网上很多源码不好用,所以就自己做了一个。原始代码是VC++的用VS2019编译了一个,DLL封装了下。调用很简单 '调用方法如下: 'CreateZipFileA "C:\123", "C:\123.zip...
要使用SharpZipLib压缩文件夹和文件,首先你需要在项目中引用该库。如果你已经有一个名为"SharpZipLib.dll"的文件,可以通过以下步骤将其添加到项目中: 1. 右键点击你的项目,选择“管理NuGet程序包”。 2. 在...
在Java编程语言中,压缩文件夹到指定目录和指定名称是一项常见的任务,这通常涉及到对文件系统的操作和使用压缩库。Java提供了多种方法来实现这一功能,比如使用内置的`java.util.zip`包或者第三方库如Apache ...
C#压缩文件夹源代码!C#压缩文件夹源代码!
这里通过 `runRar` 函数调用WinRAR的命令行版本来压缩文件夹,`test.tar` 是压缩后的文件名。 ### 5. 下载压缩文件 为了实现下载功能,代码中定义了 `savetxt` 函数,该函数调用 `runRar` 进行压缩,然后使用...
.NET框架提供了一套丰富的类库,使得开发人员可以轻松地进行文件和文件夹的压缩操作。在.NET中,主要依赖System.IO.Compression命名空间下的ZipFile类来实现压缩和解压缩功能。本压缩包包含了一个完整的.NET源码实现...
当我们需要处理文件或数据的备份、迁移时,压缩文件夹的功能就显得尤为重要。"PHP压缩文件夹"这个主题,主要涉及到PHP如何实现对文件夹进行压缩的操作。这通常涉及到PHP的Zip扩展库,它可以让我们轻松地创建、读取和...
总结起来,使用QZipWriter递归地压缩文件夹,需要以下几个步骤: 1. 创建QFile对象并打开指向ZIP文件。 2. 初始化QZipWriter对象,关联到ZIP文件。 3. 遍历源文件夹,获取所有文件和子文件夹的信息。 4. 对于每个...
对文件夹下的所有子目录及所有文件进行压缩和解压,需在一起使用,有需要的可以下载下
压缩文件夹 public void ZipFolder(string zipFilepath)//用来执行实际的压缩操作。在这个方法里面创建一个Package的实例 { using (Package package = Package.Open(zipFilepath, FileMode.Create)) { ...
JAVA实现的压缩文件夹、文件的程序,使用的时候,请把代码中的package语句改成相应的包名,或者直接删除,使用默认的包名。
本文将详细讲解如何运用Java来实现文件夹的压缩,并将其备份到目标文件夹。首先,我们需要了解Java中用于处理压缩文件的核心库——`java.util.zip`。 在Java中,我们可以使用`ZipOutputStream`类来创建ZIP压缩文件...
在C#编程中,压缩文件夹是一项常见的任务,特别是在数据备份、文件传输或者软件分发等场景中。本文将深入探讨如何使用C#实现文件夹的压缩和压缩加密功能。 首先,C#本身并没有内置的文件压缩库,但可以通过.NET ...
对一些大批量文件夹(文件夹中存在文件),需要进行批处理压缩,需要进行编写bat程序进行处理。有需要的同学,可以在此进行下载使用,不符合要求的,百度自己写。
本篇文章将深入探讨如何使用C#来解压缩文件夹,并在解压过程中保持原有的目录结构。这对于处理包含多层子目录和文件的压缩包至关重要,因为它允许我们能够按照压缩前的布局恢复文件。 首先,我们需要了解C#中用于...