精华内容
下载资源
问答
  • java生成压缩文件 ZipEntry出现乱码的问题在项目中,一次导出的文件有好几个,而且文件内容比较大,最后考虑到把文件进行压缩在下载,开始试用JDK自带的ZIP压缩包时,ZipEntry ze = new ZipEntry(fileName);...

    java生成压缩文件 ZipEntry出现乱码的问题

    在项目中,一次导出的文件有好几个,而且文件内容比较大,最后考虑到把文件进行压缩在下载,开始试用JDK自带的ZIP压缩包时,ZipEntry ze = new ZipEntry(fileName);//这是压缩包名里的文件名  如果filename是中中文时,文件名就会出现乱码,最后换成apache的zip就没有这个问题了,相关的类都在ant包里,import更新如下:

    // import java.util.zip.ZipEntry;

    // import java.util.zip.ZipOutputStream;

    import org.apache.tools.zip.ZipEntry;

    import org.apache.tools.zip.ZipOutputStream;

    具体压缩方法如下,文件路径等内容由于是测试直接写死在代码中

    /**

    * 生成压缩文件

    * @param tBaseReportForm

    */

    public void createZip(TBaseReportForm tBaseReportForm) throws Exception{

    FileOutputStream fos = new FileOutputStream("d:/性能分析数据报表.zip");

    BufferedOutputStream bos = new BufferedOutputStream(fos);

    ZipOutputStream zos = new ZipOutputStream(bos);//压缩包

    for(String fileName : tBaseReportForm.getPrintFileName()){

    File f = new File("d:/" + fileName);

    FileInputStream fis = new FileInputStream(f);

    BufferedInputStream bis = new BufferedInputStream(fis);

    byte[] buf = new byte[1024];

    int len;

    ZipEntry ze = new ZipEntry(fileName);//这是压缩包名里的文件名

    zos.putNextEntry(ze);//写入新的 ZIP 文件条目并将流定位到条目数据的开始处

    while((len=bis.read(buf))!=-1)

    {

    zos.write(buf,0,len);

    zos.flush();

    }

    fis.close();

    bis.close();

    }

    zos.close();

    }

    1 楼

    54五味子

    2012-03-14

    ant包在哪里啊?

    哥哥

    什么版本》?

    展开全文
  • Java 中 解压缩文件 ZIP

    2021-02-25 18:22:19
    传入一组文件,将文件列表打包为ZIP文件,传入ZIP文件文件压缩到一个指定文件夹,下面是这个实例的实现使用到了ANT的工具类,所以要引入ant.jar文件到工程中对于压缩建立一个工具类:package com.xidian.commmon...

    传入一组文件,将文件列表打包为ZIP文件,传入ZIP文件将文件解压缩到一个指定文件夹,下面是这个实例的实现

    使用到了ANT的工具类,所以要引入ant.jar文件到工程中

    对于压缩建立一个工具类:

    package com.xidian.commmon;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileOutputStream;

    import java.io.OutputStream;

    import java.util.zip.ZipOutputStream;

    import org.apache.tools.zip.ZipEntry;

    /**

    * ZIP操作工具类

    * @说明 注意引入ant.jar文件

    * @author cuisuqiang

    * @version 1.0

    * @since

    */

    public class Zip {

    /**

    * 压缩文件列表到某ZIP文件

    * @param zipFilename 要压缩到的ZIP文件

    * @param paths 文件列表,多参数

    * @throws Exception

    */

    public static void compress(String zipFilename, String... paths)

    throws Exception {

    compress(new FileOutputStream(zipFilename), paths);

    }

    /**

    * 压缩文件列表到输出流

    * @param os 要压缩到的流

    * @param paths 文件列表,多参数

    * @throws Exception

    */

    public static void compress(OutputStream os, String... paths)

    throws Exception {

    ZipOutputStream zos = new ZipOutputStream(os);

    for (String path : paths) {

    if (path.equals(""))

    continue;

    java.io.File file = new java.io.File(path);

    if (file.exists()) {

    if (file.isDirectory()) {

    zipDirectory(zos, file.getPath(), file.getName()

    + File.separator);

    } else {

    zipFile(zos, file.getPath(), "");

    }

    }

    }

    zos.close();

    }

    private static void zipDirectory(ZipOutputStream zos, String dirName,

    String basePath) throws Exception {

    File dir = new File(dirName);

    if (dir.exists()) {

    File files[] = dir.listFiles();

    if (files.length > 0) {

    for (File file : files) {

    if (file.isDirectory()) {

    zipDirectory(zos, file.getPath(), basePath

    + file.getName().substring(

    file.getName().lastIndexOf(

    File.separator) + 1)

    + File.separator);

    } else

    zipFile(zos, file.getPath(), basePath);

    }

    } else {

    ZipEntry ze = new ZipEntry(basePath);

    zos.putNextEntry(ze);

    }

    }

    }

    private static void zipFile(ZipOutputStream zos, String filename,

    String basePath) throws Exception {

    File file = new File(filename);

    if (file.exists()) {

    FileInputStream fis = new FileInputStream(filename);

    ZipEntry ze = new ZipEntry(basePath + file.getName());

    zos.putNextEntry(ze);

    byte[] buffer = new byte[8192];

    int count = 0;

    while ((count = fis.read(buffer)) > 0) {

    zos.write(buffer, 0, count);

    }

    fis.close();

    }

    }

    }

    String... paths 是传入的文件列表,输出流可以穿文件流也可以传文件路径名称

    压缩一组文件:

    package com.xidian.test;

    import java.io.FileOutputStream;

    import com.xidian.commmon.Zip;

    /**

    * 压缩文件

    * @说明

    * @author cuisuqiang

    * @version 1.0

    * @since

    */

    public class TestCompress {

    public static void main(String[] args) {

    // 要压缩的文件列表

    String path01 = "C:\\a";

    String path02 = "C:\\test.txt";

    try {

    FileOutputStream os = new FileOutputStream("C:\\a.zip"); // 输出的ZIP文件流

    Zip.compress(os, path01, path02);

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    }

    由于已经写了工具类,调用看起来非常清晰

    解压这个压缩包:

    package com.xidian.test;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileOutputStream;

    import java.util.ArrayList;

    import java.util.zip.ZipEntry;

    import java.util.zip.ZipInputStream;

    /**

    * 解压缩测试

    * @说明

    * @author cuisuqiang

    * @version 1.0

    * @since

    */

    public class EctractZip {

    @SuppressWarnings( { "unchecked", "static-access" })

    public static void main(String[] args) {

    EctractZip z = new EctractZip();

    ArrayList a = z.Ectract("C:\\a.zip", "C:\\tmp\\"); // 返回解压缩出来的文件列表

    for(String s : a){

    System.out.println(s);

    }

    }

    /**

    * 解压缩

    * @param sZipPathFile 要解压的文件

    * @param sDestPath 解压到某文件夹

    * @return

    */

    @SuppressWarnings("unchecked")

    public static ArrayList Ectract(String sZipPathFile, String sDestPath) {

    ArrayList allFileName = new ArrayList();

    try {

    // 先指定压缩档的位置和档名,建立FileInputStream对象

    FileInputStream fins = new FileInputStream(sZipPathFile);

    // 将fins传入ZipInputStream中

    ZipInputStream zins = new ZipInputStream(fins);

    ZipEntry ze = null;

    byte[] ch = new byte[256];

    while ((ze = zins.getNextEntry()) != null) {

    File zfile = new File(sDestPath + ze.getName());

    File fpath = new File(zfile.getParentFile().getPath());

    if (ze.isDirectory()) {

    if (!zfile.exists())

    zfile.mkdirs();

    zins.closeEntry();

    } else {

    if (!fpath.exists())

    fpath.mkdirs();

    FileOutputStream fouts = new FileOutputStream(zfile);

    int i;

    allFileName.add(zfile.getAbsolutePath());

    while ((i = zins.read(ch)) != -1)

    fouts.write(ch, 0, i);

    zins.closeEntry();

    fouts.close();

    }

    }

    fins.close();

    zins.close();

    } catch (Exception e) {

    System.err.println("Extract error:" + e.getMessage());

    }

    return allFileName;

    }

    }

    请您到ITEYE网站看原创,谢谢!

    解压其实非常简单,因为JDK 中有一个ZipInputStream对象,只需要使用他为我们服务即可!

    展开全文
  • linux zip命令压缩zip文件详解

    千次阅读 2021-05-09 06:02:40
    命令语法:zip[选项] [压缩文件] [文件]选项含义:选项含义-m将文件压缩之后,删除源文件-o将压缩文件设置成和源文件一样的时间-q安静模式,在压缩的时候不显示命令的执行过程-r将指定目录下的所有子目录及文件一起...

    功能描述:

    使用zip命令可以压缩zip文件。

    命令语法:

    zip[选项] [压缩文件] [文件]

    选项含义:

    选项

    含义

    -m

    将文件压缩之后,删除源文件

    -o

    将压缩文件设置成和源文件一样的时间

    -q

    安静模式,在压缩的时候不显示命令的执行过程

    -r

    将指定目录下的所有子目录及文件一起处理

    -n

    不压缩具有特定字符串的文件

    -v

    显示详细的操作信息

    -z

    添加压缩文件的注释

    -e

    在压缩的时候指定加密

    ​-T

    测试压缩文件的完善性

    -c

    添加一行注释

    -u

    更新压缩文件,向压缩文件内添加新文件

    -I

    压缩速度更快

    -9

    压缩得更好

    -x

    压缩时排除指定文件

    -i

    压缩时只包括指定文件

    例如:将/root/a文件压缩成/root/a.zip文件。

    [root@rhel~]#zip /root/a.zip /root/a

    将/root/a文件压缩成/root/a.zip文件,并指定加密密码。

    [root@rhel~]#zip -e /root/a.zip /root/a

    测试压缩文件/root/a.zip的完整性。

    [root@rhel~]#zip -T /root/a.zip

    将/root/a文件压缩成/root/a.zip文件,并且添加一行注释

    [root@rhel~]#zip -c /root/a.zip /root/a

    更新/root/a.zip压缩文件,添加/root/b文件。

    [root@rhel~]#zip -u /root/a.zip /root/b

    压缩/root/a文件,生成的压缩文件设置成和/root/a文件一样的时间

    [root@rhel~]#zip -o /root/a.zip /root/a

    将/home目录压缩成/root/home.zip文件

    [root@rhel~]#zip -r /root/home.zip /root/home

    压缩/boot目录,但是排除/boot/grub/grub.conf文件

    [root@rhel~]#zip -r /root/boot.zip /boot -x /boot/grub/grub.conf

    展开全文
  • RF压缩文件zip的读取

    2021-02-07 16:02:44
    archive_should_contain_file ${load_path}Test.zip Test_A.xlsx #判断压缩文件中是否包含Test_A.xlsx extract_zip_file ${load_path}Test.zip ${load_path} #解压zip create_zip_from_files_in_directory ${load_...

    *** Test Cases ***

    Test
    archive_should_contain_file ${load_path}Test.zip Test_A.xlsx #判断压缩文件中是否包含Test_A.xlsx
    extract_zip_file ${load_path}Test.zip ${load_path} #解压zip
    create_zip_from_files_in_directory ${load_path} aa.zip #创建zip文件

    展开全文
  • import java.io.*;...public class FileZip {/*** 压缩一层目录下的所有文件压缩单个文件** @param filePath* 要压缩文件路径 (单个文件需含文件名)* @param toFilePath* 压缩后的文件路径 含文件名* @par...
  • /*** 关于文件压缩和下载的类* @author panzhide* @version 1.0*/classZipDownload{protected $file_path;/*** 构造函数* @param [string] $path [传入文件目录]*/public function __construct($path){$this->...
  • ​【简介】 ...3.支持多种压缩格式,压缩方式也比较灵活 【完整代码】 包含了zipFile方法,zipFolder方法 var fs = require('fs'); var path = require('path'); var archiver = require('archiver..
  • 解决方案方式一:压缩、解压zip准备工作:slf4j-api.jarorg.slf4jslf4j-api1.7.25如果不需要日志记录,则可以把log去掉。导入import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;...
  • 使用linux的zip命令压缩文件发布时间:2020-07-22 10:07:26来源:亿速云阅读:97作者:清晨栏目:服务器这篇文章主要介绍使用linux的zip命令压缩文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们...
  • CentOS 打包压缩文件 zip 命令详解

    千次阅读 2020-12-29 01:48:35
    我们再linux中常见的压缩文件有.tar.gz,.zip,.gz,在linux中,你要习惯没有.rar的日子。一下为tar,zip命令详解tar -zcvf /home/files.tar.gz /filestar -zcvf 打包后生成的文件名全路径 要打包的目录例子:把/files...
  • C# 压缩解压Zip文件

    2020-12-24 02:04:12
    /// Zip 压缩文件 /// </summary> public class Zip { public Zip() { } #region 加压方法 /// <summary> /// 功能:压缩文件(暂时只压缩文件夹下一级目录中的文件,.
  • 除了压缩和解压缩文件外,你还可以使用 zip 命令执行许多有趣的操作。这是一些其他的 zip 选项以及它们如何提供帮助。-- Sandra Henry-stocker(作者)为了节省一些磁盘空间并将文件打包在一起进行归档,我们中的一些...
  • /*** 递归压缩文件*@paramoutput ZipOutputStream 对象流*@paramfile 压缩的目标文件流*@paramchildPath 条目目录*/private static voidzip(ZipOutputStream output,File file,String childPath){FileInputStream ...
  • 最近接到一个需求,就是选择多个文件下载时...废话不多说,直接上代码:先是压缩单个文件的:$zip = new ZipArchive;$zip_time = time().".zip"; // 压缩的目录名$zip_filename = $zip_time; // 指定一个压缩包地址...
  • Springboot中进行文件创建并压缩zip

    千次阅读 2020-12-23 20:24:43
    1、需求描述: 现在有一个需求,是将一级目录以及下属的二级目录数据放入文本中,然后放入文件夹...4、导出完成并删除原压缩文件 // 设置文件夹时间戳和路径位置 SimpleDateFormat sdf = new SimpleDateFormat("yyyy
  • package com.jay.test.zip;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.OutputStream;import java.util.ArrayList;import java.util.List;import java.uti...
  • 1.gzip:gzip压缩工具gzip命令的功能说明:gzip 命令用于压缩文件。gzip 是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出 .gz 的扩展名。gzip命令的语法格式:gzip [ -acdfhlLnNrtvV19 ] [-S suf...
  • (二)压缩指定目录及其包含的内容,并选择压缩效率 一、命令介绍 zip 命令可以将一个或多个文件放入一个压缩存档中,文件经它压缩后会另外产生一个具有“.zip”扩展名的压缩文件。 二、常用选项 选项 说明 -A 调整...
  • 1,单个文件压缩zip文件 #!/usr/bin/pythonimport zipfilef = zipfile.ZipFile('archive.zip','w',zipfile.ZIP_DEFLATED)f.write('1.py')f.write('/root/install.log')f.close() 仔细观察压缩以后的archive.zip,...
  • Java对Zip文件的支持不是很强大,有一些需要自己实现的代码,我在网上找了很多代码,都不能用于生产,要不就是流没有被关闭,要不就是Exception处理很随意,下面是我修改过并测试过的代码能用于生产的压缩和解压缩的...
  • 如何删除java中的zip文件? file.delete方法返回false。为什么?在java中解压缩后删除zip文件File file = new File("/mibook/"+mFilename+"/"+mZipname.toString());...”它适用于压缩文件?我的文件解压码public v...
  • import itertools as its import zipfile #from unrar import rarfile import threading # 判断线程是否需要终止 flag = True ... def pwd(): words = '1234567890...
  • 2、通过ZipArchive的对象处理zip文件/*$zip->open这个方法第一个参数表示处理的zip文件名。第二个参数表示处理模式,ZipArchive::OVERWRITE表示如果zip文件存在,就覆盖掉原来的zip文件。如果参数使用ZIPA...
  • import org.apache.tools.zip.ZipEntry;import org.apache.tools.zip.ZipOutputStream;import java.io.*;import java.util.zip.CheckedOutputStream;.../*** @author chenssy** 将指定文件/文件夹压缩...
  • 工具类ZipUtils 如下: package utils; import java.io.File; import java.io.FileInputStream; import java.io.IOException;...import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream;
  • /*** Zip文件工具类*@authorLuxh*/public classZipFileUtil {/*** 把文件压缩zip格式*@paramfiles 需要压缩文件*@paramzipFilePath 压缩后的zip文件路径 ,如"D:/test/aa.zip";*/public static voidcompressFiles...
  • 网上有很多关于如何解压缩zip文件的,他们都是用到了ZipArchive类。这个类在System.IO.Compression名命空间下,在.NET Framework 4.5加入。 我的程序是使用的.NET Framework 4.5.2 但是在该名命空间下并没有这个类,...
  • java 压缩zip文件

    千次阅读 2021-03-17 12:58:07
    } } /** *//** * 压缩文件 * * @param zos * 压缩输出流 * @param file * 文件对象 * @param relativePath * 相对路径 * @throws IOException * @author * @date */ private static void zipFile(ZipOutputStream ...
  • 根据您的目的,您甚至不需要做那么多-您可以通过创建一个“ mini” zip文件(每次只从目录中读取一个条目)来提取每个文件。 。 这 确实需要 了解zip文件格式,但不能完全有效-仅了解骨架。这不是像完全使用现有的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 235,272
精华内容 94,108
关键字:

压缩文件zip