精华内容
下载资源
问答
  • python 压缩文件zip格式

    千次阅读 2019-03-25 17:43:54
    1.创建zip压缩对像 f=zipfile.ZipFile(file, mode="", compression=ZIP_STORED, allowZip64=...2.将文件写入zip压缩文件 f.write(filepath)将文件直接写入压缩文件 f.write(filepath,dstdir+filename)将文件打包...

    1.创建zip压缩对像
    f=zipfile.ZipFile(file, mode="", compression=ZIP_STORED, allowZip64=False)
    “file”:生成的文件路径+名称
    mode='w’压缩文件
    2.将文件写入zip压缩文件
    f.write(filepath)将文件直接写入压缩文件
    f.write(filepath,dstdir+filename)将文件打包成一个文件夹进行压缩
    3.关闭zip对象
    f.close()

    import os
    import zipfile
    import argparse
    
    def zip_file(src_dir,video_name):
    
        zip_face_name=zipfile.ZipFile(src_dir+'/'+video_name+'_face.zip','w',zipfile.ZIP_DEFLATED)
        zip_human_name=zipfile.ZipFile(src_dir+'/'+video_name+'_human.zip','w',zipfile.ZIP_DEFLATED)
    
        for dirpath, dirnames, filenames in os.walk(src_dir):
            face_dir='/'+video_name+'_face/'
            human_dir='/'+video_name+'_human/'
            for filename in filenames:
                if 'F' in filename:
                    zip_face_name.write(os.path.join(src_dir,filename),os.path.join(face_dir,filename))
                if 'H' in filename:
                    zip_human_name.write(os.path.join(src_dir,filename),os.path.join(human_dir,filename))
    
        zip_face_name.close()
        zip_human_name.close()
    
    if __name__=='__main__':
    
        parser = argparse.ArgumentParser()
        parser.add_argument('--imgdir', type=str)
        args = parser.parse_args()
        src_dir=args.imgdir
    
        src_dir='/Users/hutingting/Desktop/low'
    
        list=src_dir.split('/')
        video_name=list[len(list)-1]
        zip_file(src_dir,video_name)
    
    
    
    
    展开全文
  • java使用ant实现Zip文件压缩、解压缩Zip文件。 单个文件压缩成Zip文件,多个文件压缩成Zip文件。 使用ant实现大文件压缩

    java使用ant实现Zip文件压缩、解压缩Zip文件。

    单个文件压缩成Zip文件,多个文件压缩成Zip文件。

    可以压缩大文件。

    需要使用到ant.jar文件,放到lib目录下。

    ant.jar下载:http://download.csdn.net/detail/xinxin19881112/8906157


    Zip.java

    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操作工具类
     */
    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();
    		}
    	}
    }



    TestCompress.java

    import java.io.FileOutputStream;
    
    import com.xx.commmon.Zip;
    
    /**
     * 压缩文件测试
     */
    public class TestCompress {
    
    	public static void main(String[] args) {
    		// 要压缩的文件列表
    		String path01 = "E:\\下载\\cn_windows_8_x86_dvd_915414.iso";
    		String path02 = "e:\\PPT模版_V0.1.potx";
    		try {
    			FileOutputStream os = new FileOutputStream("e:\\测试.zip"); // 输出的ZIP文件流
    			Zip.compress(os, path01);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    }



    TestEctractZip.java

    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;
    
    /**
     * 解压缩测试
     */
    public class TestEctractZip {
    
    	@SuppressWarnings( { "unchecked", "static-access" })
    	public static void main(String[] args) {
    		TestEctractZip z = new TestEctractZip();
    		ArrayList<String> 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<String> allFileName = new ArrayList<String>();
    		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 zfile = new File(sDestPath +File.separator+ 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;
    	}
    }


    新新:http://blog.csdn.net/xinxin19881112/article/details/46913931

    展开全文
  • 文件下载 //下载单个文件 public void downloadFile(HttpServletResponse response){ String path = "D:\test\ce\1.txt" File file = new File(path); if(file.exists()){ String fil...

    微信搜索:“二十同学” 公众号,欢迎关注一条不一样的成长之路

    单文件下载

    //下载单个文件
    public void downloadFile(HttpServletResponse response){
            String path = "D:\test\ce\1.txt"
            File file = new File(path);
            if(file.exists()){
    
                String fileName = file.getName();
                response.setHeader("Content-Disposition", "attachment;fileName=" + fileName);
                download(response,file);
    
            }
        }
    
    
    public void download(HttpServletResponse response,File file){
    
    
            FileInputStream fis = null;
            BufferedInputStream bis = null;
            OutputStream os = null;
    
            try {
                os = response.getOutputStream();
                fis = new FileInputStream(file);
                bis = new BufferedInputStream(fis);
                byte[] buffer = new byte[bis.available()];
                int i = bis.read(buffer);
                while(i != -1){
                    os.write(buffer, 0, i);
                    i = bis.read(buffer);
                }
    
            } catch (Exception e) {
                e.printStackTrace();
            }
            try {
                bis.close();
                fis.close();
                os.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    多文件压缩下载

    //多个文件,压缩成zip后下载
    public void downloadMoreFile(HttpServletResponse response) {
    
            
            String test1= "D:\test\ce\1.txt";
            String test2= "D:\test\ce\2.txt";
    
            File tfile= new File(test1);
            File cfile= new File(test2);
    
            List<File> files = new ArrayList<>();
            files.add(tfile);
            files.add(cfile);
            if (tfile.exists() && cfile.exists()) {
    
                String zipTmp = "D:\test\ce\1.zip";
                zipd(zipTmp,files,response);
    
             
            }
        }
    
    public void zipd(String zipTmp,List<File> files,HttpServletResponse response){
            File zipTmpFile = new File(zipTmp);
            try {
                if (zipTmpFile.exists()) {
                    zipTmpFile.delete();
                }
                zipTmpFile.createNewFile();
    
                response.reset();
                // 创建文件输出流
                FileOutputStream fous = new FileOutputStream(zipTmpFile);
                ZipOutputStream zipOut = new ZipOutputStream(fous);
                zipFile(files, zipOut);
                zipOut.close();
                fous.close();
                downloadZip(zipTmpFile, response);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
     
        //files打成压缩包
        public void zipFile(List files, ZipOutputStream outputStream) {
            int size = files.size();
            for (int i = 0; i < size; i++) {
                File file = (File) files.get(i);
                zipFile(file, outputStream);
            }
        }
    
     
        public void zipFile(File inputFile, ZipOutputStream ouputStream) {
            try {
                if (inputFile.exists()) {
                    if (inputFile.isFile()) {
                        FileInputStream IN = new FileInputStream(inputFile);
                        BufferedInputStream bins = new BufferedInputStream(IN, 512);
                        ZipEntry entry = new ZipEntry(inputFile.getName());
                        ouputStream.putNextEntry(entry);
    
                        int nNumber;
                        byte[] buffer = new byte[512];
                        while ((nNumber = bins.read(buffer)) != -1) {
                            ouputStream.write(buffer, 0, nNumber);
                        }
         
                        bins.close();
                        IN.close();
                    } else {
                        try {
                            File[] files = inputFile.listFiles();
                            for (int i = 0; i < files.length; i++) {
                                zipFile(files[i], ouputStream);
                            }
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    public static HttpServletResponse downloadZip(File file, HttpServletResponse response) {
            if (file.exists() == false) {
                System.out.println("待压缩的文件目录:" + file + "不存在.");
            } else {
                try {
                    // 以流的形式下载文件。
                    InputStream fis = new BufferedInputStream(new FileInputStream(file.getPath()));
                    byte[] buffer = new byte[fis.available()];
                    fis.read(buffer);
                    fis.close();
                    // 清空response
                    response.reset();
    
                    OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
                    response.setContentType("application/octet-stream");
    
                    // 如果输出的是中文名的文件,在此处就要用URLEncoder.encode方法进行处理
                    response.setHeader("Content-Disposition",
                            "attachment;filename=" + new String(file.getName().getBytes("GB2312"), "ISO8859-1"));
                    toClient.write(buffer);
                    toClient.flush();
                    toClient.close();
                } catch (Exception ex) {
                    ex.printStackTrace();
                } finally {
                    try {
                        File f = new File(file.getPath());
                        f.delete();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
            return response;
        }
    

     

    展开全文
  • Python3将文件压缩zip格式

    千次阅读 2020-02-12 10:26:15
    例如我这里将 upload_load.py 文件压缩成upload_load.zip ,运行代码,在指定目的下就会生成:upload_load.zip 文件 #压缩文件 import time,zipfile class zip: def get_zip(self,files,zip_name): zp=zipfile....

    例如我这里将 upload_load.py 文件压缩成 upload_load.zip ,运行代码,在指定目的下就会生成:upload_load.zip 文件

    #压缩文件
    import time,zipfile
    class zip:
        def get_zip(self,files,zip_name):
            zp=zipfile.ZipFile(zip_name,'w', zipfile.ZIP_DEFLATED)
            for file in files:
                zp.write(file)
            zp.close()
            time.sleep(5)
            print('压缩完成')
    
    if __name__ == '__main__':
        z=zip()
        # 文件的位置,多个文件用“,”隔开
        files=['upload_file.py']
        # 压缩包路径及名字
        zip_file = 'upload_file.zip'
        z.get_zip(files,zip_file)

    效果图:

    展开全文
  • C# 文件压缩与解压(ZIP格式)

    千次阅读 2016-04-29 00:11:02
    Hello,大家好,我是网呦,今天分享的内容是:C#操作文件压缩与解压(zip格式)。该文章Core Code 引用于:C#文件压缩与解压 在企业开发过程中经常会遇到文件的压缩与解压,虽然网上很多流行的压缩文件格式都是RAR的...
  • 《 Linux下zip格式文件的解压缩压缩操作命令详解 》 zip格式文件的解压缩压缩操作: 1、/home目录下面的huazai目录压缩为huazai.zip  zip -r huazai.zip huazai #压缩huazai目录  2、/home目录...
  • 使用C#压缩解压zip格式文件

    千次阅读 2016-10-15 17:39:53
    zip是一种免费开源的压缩格式,windows平台自带zip压缩和解压工具,由于算法是开源的,所以基于zip的解压缩开源库也很多,SharpZipLib是一个很不错的C#库,它能够解压缩zip、gzip和tar格式文件,首先下载...
  • JAVA实现对多个文件压缩zip格式的下载需要在项目中导入ant.jar包 一、后台代码如下: 1.首先要判断需要下载的文件是否存在 public void getFileExist(ColloquiumFewSearchBean colloBean,HttpServletRequest ...
  • 由于公司业务功能需求,需要从阿里云OSS(Object Storage Service,对象存储服务)中获取文件并打压缩成ZIP格式,在这次开发中使用了OSS文件下载相关服务,文件压缩功能使用的是commons-compress-x.x.jar中提供的...
  • 设置如下:  避免使用7z格式。因为7z格式有所损坏后无法恢复。使用zip格式最好。
  • C# 解/压缩rar/zip格式文件

    千次阅读 2018-04-12 14:46:35
    为了便于文件在网络中的传输和保存,通常将文件进行压缩操作,常用的压缩格式有rar、zip和7z。本文将介绍在C#中如何对这几种类型的文件进行压缩和解压,并提供一些在C#中解压缩文件的开源库。在C#.NET中压缩解压rar...
  • Python解压缩ZIP格式

    千次阅读 2012-12-08 00:06:12
    Python解压缩ZIP格式 很多人在Google上不停的找合适自己的压缩,殊不知Py的压缩很不错。可以试试。当然C#,Java的压缩也有第三方的类。Py有很多美名:数学理论强大,数据结构高级等等,关于压缩算法当然用Py更加...
  • Java用ZIP格式压缩和解压缩文件

    千次阅读 2009-03-06 22:22:00
    转载:java jdk实例宝典感觉讲的很好...使用zipoutputstream可以实现文件压缩,所有写入到zipoutputstream输入流中的数据,都会被ZIP格式压缩。每个被压缩的文件或者目录在zip文件中都对应一个zipentry对象,每个zipen
  • 按照传统的处理办法需要将数据先存储到本地磁盘,再从磁盘读文件压缩zip文件。 传统方法需要多次磁盘IO,性能很低,如果跳过文件存储,直接将内存的数据压缩保存,会大大减少磁盘IO,提升性能。 不
  • 学习Java压缩zip文件:压缩单个文件和多个文件,不包含文件夹;怎样用Java将文件追加到zip文件中。测试类:/** * @FileName:ZipTest.java * @Description: TODO * @Copyright: All rights Reserved, Designed By ...
  • java压缩和解压缩Zip、Jar、Gzip文件

    千次阅读 2017-06-20 09:13:51
    在java里面也提供了将文件进行压缩以减少传输时的数据量的类,可以很方便的将文件压缩ZIP、JAR、GZIP等形式,GZIP主要是在Linux系统下的压缩文件。下面主要讲的就是ZIP形式的压缩文件,而JAR、GZIP形式的压缩文件...
  • WinRAR默认压缩格式换为ZIP

    千次阅读 2020-01-17 11:35:12
    转载自:WinRAR默认压缩格式换为ZIP 使用WinRAR的一个技巧,说实话,我并不喜欢WinRAR,不过不可否认这个软件有其方便的地方,在一些细节方面7Zip的确不如WinRAR做的好。 例如,WinRAR默认建立的压缩包都是RAR格式...
  • zip all.zip *.jpg #将所有.jpg的文件压缩成一个zip包unzip all.zip #将all.zip中的所有文件解压到当前目录中unzip all.zip -d all #将all.zip 中的所有文件解压到当前目录中的all文件夹中zip -r hy.zip hy #将当前...
  • //联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄 压缩失败图: 解压失败图: ...导致这种情况的原因有一下几点:  1、zip文件已经损坏;... 2、zip文件下载时没有下载完全...首先你可以验证一下你的zip文件md5 hash
  • Java解压缩zip - 解压缩多个文件或文件夹

    万次阅读 多人点赞 2012-09-19 12:56:50
    Java解压缩zip - 多个文件(包括文件夹) 对多个文件和文件夹进行压缩,对复杂的文件目录进行解压。 压缩方法使用的是可变参数,可以压缩1到多个文件..可以写数组的方式或者一个个写到参数列表里面... ZipFiles(zip...
  • 参考地址:解压&&压缩文件+密码
  • Zip文件压缩与解压

    千次阅读 2017-05-08 17:54:06
    Java zip文件压缩与解压
  • android 进行多文件压缩处理格式zip

    千次阅读 热门讨论 2011-03-05 15:52:00
    主要利用了ant.jar对文件进行压缩处理。以下为全部代码,界面是随便所画。如有什么问题还希望各位指出。 xml文件代码 : <?xml version="1.0" encoding="utf-8"?> android:orientation="vertical" ...
  • java多个文件压缩zip文件

    千次阅读 2018-08-15 14:14:05
     文件压缩 */ private static void ZipFiles(java.io.File[] srcfile, java.io.File zipfile) { byte[] buf=new byte[1024]; ZipOutputStream out=null; try { out=new ZipOutputStream(new Fi...
  • 1.java生成压缩文件zip 2.怎么给压缩文件添加进度条
  • java生成一个XML文件,并且将该文件压缩ZIP格式后再写到硬盘上
  • 使用C#压缩解压rar和zip格式文件

    万次阅读 2015-06-19 16:32:16
    为了便于文件在网络中的传输和保存,通常将文件进行压缩操作,常用的压缩格式有rar、zip和7z,本文将介绍在C#中如何对这几种类型的文件进行压缩和解压,并提供一些在C#中解压缩文件的开源库。 在C#.NET中压缩解压...
  • Java实现zip文件压缩与解压缩--附完整代码

    万次阅读 多人点赞 2019-07-26 14:54:09
    Java实现文件压缩与解压缩-----zip、.7z1. 基本概念1.1 Java中实现zip的压缩与解压缩1.1.1 基本概念1.1.2 zip压缩代码实现1.3 zip压缩代码改进 1. 基本概念 1.1 Java中实现zip的压缩与解压缩 1.1.1 基本概念 ...
  • PHP文件Zip压缩和解压缩

    千次阅读 2018-02-02 13:19:31
    PHP文件 Zip 压缩 /* creates a compressed zip file */ 注意:开启PHP zip压缩扩展extension=php_zip.dll   function create_zip($files=array(),$destination='' ,$overwrite=false) {  //if the zip...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 214,142
精华内容 85,656
关键字:

怎么把文件压缩zip格式