java解压zip文件为空(java解压各种类型的文件)

   2023-03-11 互联网0
核心提示:开发项目过程中,会用到很多工具类,这些就不需要自己花时间去实现了,可以到网上查符合自己要求类,节约时间,提高开发效率。 压缩工具类代码 public class ZipToFile { public static final Stri

java解压zip文件为空(java解压各种类型的文件)

开发项目过程中,会用到很多工具类,这些就不需要自己花时间去实现了,可以到网上查符合自己要求类,节约时间,提高开发效率。

压缩工具类代码

public class ZipToFile {

public static final String ZIP_FILENAME = “C:XJPDA.zip”;// 需要解压缩的文件名

public static final String ZIP_DIR = “D:wjJava图形用户界面的设计与实现相关源代码”;// 需要压缩的文件夹

public static final String UN_ZIP_DIR = “C:”;// 要解压的文件目录

public static final int BUFFER = 1024;// 缓存大小

public static void zipFile(String baseDir, String fileName)

throws Exception {

List fileList = getSubFiles(new File(baseDir));

ZipOutputStream zos = new ZipOutputStream(

new FileOutputStream(fileName));

zos.setEncoding(System.getProperty(“sun.jnu.encoding”));

ZipEntry ze = null;

byte[] buf = new byte[BUFFER];

int readLen = 0;

for (int i = 0; i < fileList.size(); i++) {

File f = (File) fileList.get(i);

ze = new ZipEntry(getAbsFileName(baseDir, f));

ze.setSize(f.length());

ze.setTime(f.lastModified());

zos.putNextEntry(ze);

InputStream is = new BufferedInputStream(new FileInputStream(f));

while ((readLen = is.read(buf, 0, BUFFER)) != -1) {

zos.write(buf, 0, readLen);

}

is.close();

}

zos.close();

}

public static void main(String[] args) {

try {

zipFile(ZIP_DIR, “D:zipJava图形用户界面的设计与实现相关源代码.zip”);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

private static String getAbsFileName(String baseDir, File realFileName) {

File real = realFileName;

File base = new File(baseDir);

String ret = real.getName();

while (true) {

real = real.getParentFile();

if (real == null)

break;

if (real.equals(base))

break;

else

ret = real.getName() + “/” + ret;

}

return ret;

}

private static List getSubFiles(File baseDir) {

List ret = new ArrayList();

File[] tmp = baseDir.listFiles();

for (int i = 0; i < tmp.length; i++) {

if (tmp[i].isFile())

ret.add(tmp[i]);

if (tmp[i].isDirectory())

ret.addAll(getSubFiles(tmp[i]));

}

return ret;

}

public static void upZipFile() throws Exception {

ZipFile zfile = new ZipFile(ZIP_FILENAME);

Enumeration zList = zfile.getEntries();

ZipEntry ze = null;

byte[] buf = new byte[1024];

while (zList.hasMoreElements()) {

ze = (ZipEntry) zList.nextElement();

if (ze.isDirectory()) {

File f = new File(ZIP_DIR + ze.getName());

f.mkdir();

continue;

}

OutputStream os = new BufferedOutputStream(new FileOutputStream(

getRealFileName(ZIP_DIR, ze.getName())));

InputStream is = new BufferedInputStream(zfile.getInputStream(ze));

int readLen = 0;

while ((readLen = is.read(buf, 0, 1024)) != -1) {

os.write(buf, 0, readLen);

}

is.close();

os.close();

}

zfile.close();

}

public static File getRealFileName(String baseDir, String absFileName) {

String[] dirs = absFileName.split(“/”);

File ret = new File(baseDir);

if (dirs.length > 1) {

for (int i = 0; i < dirs.length – 1; i++) {

ret = new File(ret, dirs[i]);

}

if (!ret.exists())

ret.mkdirs();

ret = new File(ret, dirs[dirs.length – 1]);

return ret;

}

return ret;

}

public static void encryptionFile(String zipDir,String EncryptZipFile,String password){

System.out.println(“===== 加密 =====”);

File file = new File(zipDir);

byte[] zipByte = ZipOutput.getEncryptZipByte(file.listFiles(), password);

FileUtils.writeByteFile(zipByte, new File(EncryptZipFile));

System.out.println(“===== Encrypt Success =====”);

//return “success”;

}

}

以上,是我实际项目中用过的zip文件压缩工具类,仅供参考,有什么好的方法,可以评论区交流。

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与爱美生活网(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • urs文件是什么意思
    urs文件是什么意思
    "urs"文件通常指的是Unix Recovery Snapshot(UNIX恢复快照)文件。它是Unix操作系统中用于备份和恢复系统状态的文件格式。该文件包含了某一特定时刻系统的快照信息,包括文件和目录结构、权限设置、用户和组信息等。通过
  • QQ文件image是什么意思 image文件夹是可以删除吗
    QQ文件image是什么意思 image文件夹是可以删除
    1、image是用来存放图片的,比如我们在电脑上用微信或者QQ聊天,聊天内容里的图片就会保存到这个文件夹里;2、image文件夹是可以删除的,并且往往在用户删除以后,能够清理出不少的内存;3、因此,用户可以放心删除,也不用担心图片消失的问题
  • 电脑怎么保存文件(计算系统包括硬件)
    电脑怎么保存文件(计算系统包括硬件)
    弹出另存为对话框,点击保存即可,或者按快捷键“ctrl+s”保存文件。    电脑(computer,又称计算机)是一种用于高速计算的电子计算机器,被称为“20世纪最先进的科学技术发明之一”。电脑由硬件系统和软件系统所组成,具有进行数值计算
  • 怎么查看隐藏文件(怎么查看隐藏文件夹win7)
    怎么查看隐藏文件(怎么查看隐藏文件夹win7)
    在Windows系统中,如果我们选择给文件或目录加上系统及隐藏属性,那么它就无法直接被看到了,只能同时设置“显示隐藏的文件”以及显示系统文件才行。给目录加上系统及隐藏属性单独勾选“显示隐藏的项目”也无法显示不过第三方软件基本都没有这个限制,
  • cad卸载不干净怎么办(教你一键彻底清除卸载cad)
    cad卸载不干净怎么办(教你一键彻底清除卸载cad
    很多同学CAD遇到出问题(通常是激活失效或者功能异常)。匆忙的把CAD卸载了重新安装,要么是重新安装过程中提示CAD已经安装。要么是安装过程中安装路径是灰色的不可选。要么是好不容易能安装,最后提示安装失败。出现此类问题的原因是上一次卸载过程
  • 数码知识:华为手机备忘录的保存路径备忘录本地文件在哪里
    数码知识:华为手机备忘录的保存路径备忘录本地
    如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道华为手机备忘录的保存路径备忘录本地文件在哪里,那么既然现在大家对于华为手机备忘
  • 手机qq如何打包文件(文件发送打开选中)
    手机qq如何打包文件(文件发送打开选中)
    1、选中文件后,点击左下角,选择用qq浏览器打开,然后点击发送,选中有微信图案的一栏,发送给朋友,再选中好友就行了。2、找到这个文件,首先打开内部储存,找到tencent文件夹,打开QQfile_recv文件夹,qq上接受的文件都储存在那里
  • 文档文件大小怎么改(文档排版的基本步骤)
    文档文件大小怎么改(文档排版的基本步骤)
    Word 2003文件损坏而无法打开的修复方法 相信经常用word的朋友都遇到过这种情况:打开之前辛辛苦苦制作的word文档的时候,提示文件损坏无法打开。郁闷的要跳楼。今天就介绍一个方法来修复损坏的word文档,下面是具体的步骤。 步
  • oppoa59s音量如何扩大(音量选择打开点击)
    oppoa59s音量如何扩大(音量选择打开点击)
    oppoa59s音量扩大的方法是:    1、打开手机上面的浏览器,然后下载百度经验工具原料上面的音量软件。    2、打开文件管理器,找到下的apk文件点击一下,选择安装。    3、软件安装后打开这个APP,选择扬声器设置。    4、
  • word加密怎么破解(文件夹加密的常用方法)
    word加密怎么破解(文件夹加密的常用方法)
    在文档编辑的时候,通常需要制作副本,一种简单的方法就是另存为。另存为不仅可以存成原格式,还有更多的样式供我们选择,今天就带大家一起体验一下吧。 在Word中另存为的快捷键是F12,我们可以在跳出来的对话框中选择保存地址,更改文档名称,选择保
点击排行