`

批量压缩文件[文件夹]

 
阅读更多
/**
	 * 压缩文件-由于out要在递归调用外,所以封装一个方法用来
	 * 调用ZipFiles(ZipOutputStream out,String path,File... srcFiles)
	 * @param zip
	 * @param path
	 * @param srcFiles
	 * @throws IOException
	 * @author masque.java@gmail.com
	 */
	public static void ZipFiles(File zip,String path,List<File> srcFiles) throws IOException{
		ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zip));
		ZipFiles(out,path,srcFiles);
		out.close();
		//System.out.println("*****************压缩完毕*******************");
	}
	/**
	 * 压缩文件-File
	 * @param zipFile  zip文件
	 * @param srcFiles 被压缩源文件
	 * @author masque.java@gmail.com
	 */
	public static void ZipFiles(ZipOutputStream out,String path,List<File> srcFiles){
		path = path.replaceAll("\\*", "/");
		if(!path.endsWith("/")){
			path+="/";
		}
		byte[] buf = new byte[1024];
		try {
			for(File f:srcFiles){
				if(f.isDirectory()){
					File[] files = f.listFiles();
					String srcPath = f.getName();
					srcPath = srcPath.replaceAll("\\*", "/");
					if(!srcPath.endsWith("/")){
						srcPath+="/";
					}
					out.putNextEntry(new ZipEntry(path+srcPath));
					ZipFiles(out,path+srcPath,Arrays.asList(files));
				}
				else{
					FileInputStream in = new FileInputStream(f);
					//System.out.println(path + srcFiles[i].getName());
					out.putNextEntry(new ZipEntry(path + f.getName()));
					int len;
					while((len=in.read(buf))>0){
						out.write(buf,0,len);
					}
					out.closeEntry();
					in.close();
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) throws IOException {
		//zipFiles(new File[]{new File("D:\\WS\\demo.js"),new File("D:\\WS\\111111111111111111.txt")}, new File("D:\\XXXX.zip"));
		/** 
         * 压缩文件 
         */  
        File[] files = new File[]{new File("D:\\WS"),new File("D:\\temp\\temp\\OFFICE2013激活工具Microsoft Toolkit_2.4.9"),new File("D:\\XXXX.zip")};  
        
        File zip = new File("d:/压缩.zip");  
        ZipFiles(zip,"",Arrays.asList(files));  
	}

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    批处理批量压缩文件,压缩当前文件夹下所有指定后缀名文件

    批处理批量压缩当前文件夹下所有指定后缀名文件,批处理批量压缩指定类型文件为每个单独压缩包。 使用前解压本压缩包 本压缩包内容由WinRaR.exe文件与bat文件组成,使用时需要将所需打包的同类型文件放置到WinRaR....

    7z批量压缩文件夹的小程序

    7z批量压缩文件夹 请正确默认安装7z程序 然后把下载的资源放置到需要压缩的文件夹同一个目录里 例如当前目录里有1 2 3 4等文件夹。把程序放到一起。运行程序,稍等会自动压缩好1 2 3 4文件夹压缩包

    批量压缩 去顶层文件夹 Zip2Dir

    这时看不出优势,但是如果你有好几百个文件夹同时压缩成几百个不同的压缩文件时,他就可以在每个文件夹外面直接压缩,最后生成几百个和文件夹名字相同的压缩文件,且每个文件都没有最最顶层文件夹的文件。...

    批量压缩文件夹工具(批量删除空文件夹工具)

    批量压缩某个目录的所有文件夹,压缩为存储模式。可以选择是否保留源文件。 另外带有批量删除空文件夹程序 工具为自己封装的,有其他需要的可以联系我

    邓西文件批量压缩加密工具

    软件介绍 邓西文件批量压缩加密工具(批量加密/批量压缩加密/文件批量加密工具/文件批量压缩加密工具)是一...3:运行“FileBatchRar.exe”即可进行批量压缩文件。 2018-3-12:解决了一些 bug。 2017-12-1:系统优化。

    zip解压缩文件文件夹都可以(java)

    zip解压缩文件文件夹都可以,代码清晰,注释多。非常容易看懂

    matlab遍历文件夹下所有压缩文件并解压

    遍历指定文件夹及其子文件夹下的所有压缩文件,批量用7z软件解压,并实时显示解压进度。

    批量压缩文件夹: 批量压缩当前目录下所有文件夹分别为单个压缩包

    批量压缩文件夹: 批量压缩当前目录下所有文件夹分别为单个压缩包 利用Winrar(x64) 批量压缩当前目录下所有文件夹分别为单个压缩包,压缩包名称为原文件夹名称,压缩后将删除该文件夹,使用方法:复制本文件到指导...

    C#实现winform压缩解压文件夹

    C#实现winform压缩解压文件夹

    邓西文件批量压缩加密工具 v1.0 20190316

    软件介绍 邓西文件批量压缩加密工具(批量加密/批量压缩加密/文件批量...3:运行“FileBatchRar.exe”即可进行批量压缩文件。 2019-3-16:增加了添加注释的功能。 2018-3-12:解决了一些 bug。 2017-12-1:系统优化。

    java后台批量下载文件并压缩成zip下载的方法

    主要为大家详细介绍了java后台批量下载文件并压缩成zip下载的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    对文件夹内的压缩文件进行批量解压缩

    对文件夹内的压缩文件进行批量解压缩

    文件批量压缩工具 v1.0.rar

    文件批量压缩工具(批量加密/批量压缩加密/文件批量加密工具/文件批量压缩加密工具)是一款批量对指定文件夹下的文件及文件夹加密压缩的...3:运行“FileBatchRar.exe”即可进行批量压缩文件。 文件批量压缩工具截图

    WINRAR批量压缩助手V1.2.rar

    WINRAR批量压缩助手是帮助站长快速打包的工具。 1.支持给文件夹, 文件快速批量打包,支持批量设置密码, 添加附加文件...3.修正了之前批量压缩选择删除文件时, 会把附加的文件删除的BUG! (按道理是不应该删除的)

    批处理.bat批量解压文件夹下的所有压缩文件

    批处理.bat批量解压文件夹下的所有压缩文件 可选6种模式: 是否删除压缩包? 请选择解压方式:1.最外层压缩文件分别解压到单独的文件夹,内层解压到所在文件夹; 2.全部解压到以压缩包命名的文件夹; 3.全部解压到...

    RAR批量压缩助手。版本1.0

    程序可以实现文件夹的批量压缩功能和对压缩包进行处理的功能。 1。批量压缩文件夹。 选择文件夹和附加文件,进行相关的设置,可以进行文件夹压缩。并可以根据需要加锁和加密。 2。压缩包批量处理功能。 选择...

    python批量解压文件夹下所有压缩包(rar、zip、7z)

    常见的压缩包格式有rar、zip、7z,本方法递归遍历指定路径下的所有文件和文件夹,批量解压所有压缩包,同时生成unzip_log.txt日志文件,用来记录解压失败的文件路径,这些文件需要手动解压。详细介绍请见作者主页,...

    图片批量压缩工具.exe

    按文件夹批量压缩文件夹内所有的图片,支持多层级的文件夹,支持图片按照原路径进行存放。需安装.net framework 4.6.2

    js和css批量压缩工具

    可以针对js脚本和CSS样式文件进行批量压缩,可以将你要压缩的js文件放在文件in中,然后执行run-js-min,将压缩后的js脚本自动输出到out/js文件夹下;将你要压缩的css文件放在文件in中,然后执行run-css.bat,将压缩后...

    批量压缩文件小软件(附源码).rar

    可以修改源码,不想改也没问题),将要压缩的文件放进去,同时解压缩本资源包里的文件(FileToZip.jar和FileToZip.bat)到D盘下,双击FileToZip.bat,会自动生成一个vtpk_zip文件夹,压缩文件都会批量生成于此。...

Global site tag (gtag.js) - Google Analytics