`

解压与压缩文件zip 辛苦总结

阅读更多
一开始,简简单单的几行代码就可以实现zip压缩,我啊,也傻了这些!
OutputStream ops=new FileOutputStream(tarZip);
ZipOutputStream zipops=new ZipOutputStream(ops);
//建立一个zip文件条目
ZipEntry entry = new ZipEntry("haha.txt");
//进行保存zipoutputStream 流中
zipops.putNextEntry(entry);
zipops.write("yanming".getBytes(),0, 4);
zipops.close();
这是一个非常简单的,zip制作压缩包,弄明白这些,你就可以开始编码了!在这里,我共享我的全部代码,希望对学者有所帮助,如有不懂---QQ:962589149
public static void zipFile(String dirPath,File file,ZipOutputStream zipops) throws Exception
   {

byte[] b = new byte[1024];
if(file.isDirectory())//是目录
{
ZipEntry ze = new ZipEntry(dirPath + file.getName() + "/");
zipops.putNextEntry(ze);
//迭代
for (int i = 0; i < file.listFiles().length; i++) {
zipFile(dirPath + file.getName() + "/", file.listFiles()[i],zipops);
}
}else//是文件时
{
int p=0;
FileInputStream fis=null;
try
   {
//进行读取
fis = new FileInputStream(file);
ZipEntry ze = new ZipEntry(dirPath + file.getName());
zipops.putNextEntry(ze);
  while ((p = (fis.read(b))) > 0) {
    zipops.write(b, 0, p);
}
}catch(Exception ex){
  throw new Exception("压缩文件时出现错误(zipFile)");
}finally
{
if(fis!=null)
{
fis.close();
}
}
}
   }
public static boolean  doComPress(String dirPath,String tarZip) throws Exception
{
ZipOutputStream zipops=null;//zip输出流
//目标zip文件
OutputStream ops=new FileOutputStream(tarZip);
zipops=new ZipOutputStream(ops);
ZipEntry entry=null;
try
{
File dirFile=new File(dirPath);
if (!dirFile.isDirectory()) {
    throw new Exception("传入的不是文件夹目录");
}
//获取根目录
String dirName = dirPath.substring(dirPath.lastIndexOf("/") + 1);
//处理C://yanming//
if (dirName == null || "".equals(dirName)) {
     String subStr = dirPath.substring(0, dirPath.length() - 2);
     dirName = subStr.substring(subStr.lastIndexOf("/") + 1);
  }
entry = new ZipEntry(dirName+"/");
zipops.putNextEntry(entry);
//获取子文件目录
File[]  files=dirFile.listFiles();
//进行迭代
for(int i=0;i<files.length;i++)
{
zipFile(dirName + "/", files[i], zipops);
}
}catch(Exception ex)
{

}finally
{
if(zipops!=null)
{
zipops.close();
}
}
return false;
}
分享到:
评论

相关推荐

    C语言实现Zip压缩解压.rar

    3. **解压数据**:使用与压缩时相同的方法对数据进行解压。 4. **写入目标文件**:将解压后的内容写入目标文件或目录,恢复原始文件结构。 在C语言中实现这些功能,我们可以利用现有的开源库,如libzip和minizip。...

    java压缩文件生成带密码的zip包,解压带密码的zip包的工具类

    压缩文件方法 该方法需要引用zip4j的jar文件 单个文件、多个文件压缩 /** * 使用给定密码压缩指定文件或文件夹到指定位置. * * dest可传最终压缩文件存放的绝对路径,也可以传存放目录,也可以传null或者""....

    VC++ MFC 如何用 CZip CUnzip类压缩解压缩文件

    本文将详细介绍如何使用CZip和CUnzip类来处理文件的压缩与解压缩任务。 首先,我们需要了解CZip和CUnzip类的基本概念。CZip类提供了创建、打开、添加、删除和提取ZIP文件的功能,而CUnzip类则负责从ZIP文件中提取...

    C++ zip解压缩压缩

    本文将详细介绍一个基于C++的zip文件处理方法,它允许开发者通过仅包含几个头文件就能实现文件的压缩和解压缩功能。这个解决方案简洁易用,非常适合那些需要在C++项目中集成压缩功能的开发者。 标题中的"C++ zip解...

    Android将assets中的zip压缩文件解压到SD卡

    总结来说,解压Android应用中的ZIP文件到SD卡需要理解Android的权限管理机制,熟悉文件操作,以及掌握ZIP文件处理。通过这些知识,开发者能够为用户提供更丰富的功能,例如离线数据包下载、游戏资源预加载等。

    windows下压缩的zip文件,上传到Linux后unzip不认的解决办法

    在日常的跨平台文件传输中,...通过合理选择压缩工具、上传方式以及转换工具,我们可以有效地解决Windows下压缩的ZIP文件在Linux上无法解压的问题。同时,理解这些差异对于日常的系统管理和开发工作也是非常重要的。

    Zip压缩和解压文件

    在IT领域,文件压缩是一种常见的...总结来说,Zip压缩和解压是日常开发中常见的任务,Java等许多编程语言都提供了方便的API来处理Zip格式。通过理解和应用这些知识,我们可以有效地管理和操作大量文件,提升工作效率。

    Java压缩解压ZIP之Zip4j

    对于解压缩ZIP文件,`ZipFile`类也提供了`extractAll(String outputPath)`方法,可以将ZIP文件解压到指定的目录下。如果ZIP文件被加密,我们需要在解压前提供正确的密码。 ```java String outputFolder = "path/to/...

    C#压缩/解压ZIP文件带密码功能

    在C#编程环境中,处理ZIP文件的压缩与解压是一项常见的任务,特别是在文件管理和数据传输中。本篇文章将深入探讨如何使用C#实现ZIP文件的压缩和解压,并且涵盖如何为ZIP文件设置密码,以增强文件的安全性。 首先,...

    VC++压缩解压zip文件(支持密码)

    只能压缩解压zip格式的,不需要dll或者库文件,核心是HZIP,支持带密码压缩解压。详情参见: http://blog.csdn.net/sunflover454/article/details/48981841

    基于java的开发源码-用GZIP压缩解压文件.zip

    基于java的开发源码-用GZIP压缩解压文件.zip 基于java的开发源码-用GZIP压缩解压文件.zip 基于java的开发源码-用GZIP压缩解压文件.zip 基于java的开发源码-用GZIP压缩解压文件.zip 基于java的开发源码-用GZIP压缩...

    易语言zip解压

    在易语言中处理ZIP压缩文件是一项常见的任务,这涉及到文件的压缩与解压缩操作。本篇文章将详细讲解如何使用易语言来实现ZIP文件的解压功能,以及如何读取ZIP目录和特定的ZIP文件。 首先,我们要理解ZIP文件格式。...

    linux自带的unzip命令可以解压windows下的zip格式的压缩文件。

    ZIP文件可以包含多个单独的文件或目录,它们会被一起压缩并在需要时整体解压。由于其广泛支持,ZIP在不同操作系统间的数据交换中扮演着重要角色。 Linux中的unzip命令提供了许多功能,包括: 1. 解压ZIP文件:基本...

    MFC的极其简单的压缩和解压代码

    首先,`unzip.cpp`和`zip.cpp`是实现压缩和解压功能的源代码文件,它们可能包含了对压缩库的具体实现,如ZIP或RAR格式的处理。`unzip.h`和`zip.h`则是对应的头文件,包含了函数声明和必要的数据结构定义。在MFC项目...

    压缩/解压文件(支持rar,zip)

    本文将详细讨论如何使用CS类来实现RAR和ZIP格式的压缩与解压,以及在ASP.NET环境中进行在线操作的相关技术。 首先,RAR和ZIP是两种广泛使用的文件压缩格式。RAR是由RARLAB开发的,它提供了更高的压缩比,可以修复...

    7z动态链接库dll文件及解压压缩示例.zip

    在使用7-Zip库时,我们需要调用相关的API,例如`ExtractArchive`方法,指定源压缩文件路径、目标解压目录以及可能需要的密码。解压过程中,7z.dll会解析压缩文件中的数据块,并根据编码方式还原原始文件。 压缩文件...

    pb压缩 解压 zip powerbuild

    总结来说,"pb压缩 解压 zip powerbuild"涉及到的是使用PowerBuilder开发的应用程序,通过zlib库的DLL接口实现ZIP文件的压缩和解压缩功能,支持多文件操作,这展示了PB与底层压缩库集成的能力,以及在业务需求中提高...

    C++实现ZIP文件解压

    总的来说,C++实现ZIP文件解压涉及对ZIP文件格式的深入了解,包括其结构、压缩方法和元数据。这个过程需要对文件I/O、内存管理和错误处理有扎实的理解。尽管本文提供了基本的思路,但在实际应用中,可能需要进一步的...

    详解C#压缩、解压文件夹/文件(带密码)

    总结,C#中压缩和解压文件或文件夹可以通过如DotNetZip和SharpCompress这样的库轻松实现。DotNetZip提供了内置的密码保护功能,而SharpCompress则需要自定义加密来实现相同效果。选择哪种库取决于项目的具体需求,...

    pb用7z压缩和解压文件pb12.5(源码含Demo).zip

    标题 "pb用7z压缩和解压文件pb12.5(源码含Demo).zip" 提供的信息表明,这是一个关于使用7z工具在PowerBuilder(简称PB)环境中进行文件压缩和解压缩的示例。7z是一种高效、开源的压缩格式,提供了比常见的ZIP和RAR...

Global site tag (gtag.js) - Google Analytics