`

批量压缩文件[文件夹]

 
阅读更多
/**
	 * 压缩文件-由于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文件夹压缩包

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

    这个工具集成了批量压缩和批量删除空文件夹的功能,对于经常处理大量数据的用户来说,非常实用。下面将详细讲解这两个主要功能及其相关知识点。 首先,批量压缩文件夹是日常工作中的一种常见需求。传统的压缩方法...

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

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

    批量压缩 去顶层文件夹 Zip2Dir

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

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

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

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

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

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

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

    7-Zip批量压缩

    2. 右键菜单设置:安装完成后,打开需要批量压缩的文件夹,选中所有要压缩的文件,然后右键点击,选择“7-Zip” -&gt; “添加到压缩文件”。 3. 压缩设置:在弹出的对话框中,可以设置压缩格式(默认为7z,也可以选择...

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

    在C#编程环境中,开发一个WinForm应用来实现文件夹的压缩与解压缩功能,可以极大地提高工作效率,尤其是在处理大量数据或文件时。WinForm是.NET Framework提供的一个用于创建桌面应用程序的用户界面框架,而C#语言的...

    java课程设计之批量压缩文件

    在本Java课程设计中,我们将探讨如何批量压缩文件,这是许多实际应用中常见的需求,例如数据备份、文件传输等。这个项目提供了相关的源代码,帮助学习者深入理解Java中的文件处理和压缩技术。 首先,我们要了解Java...

    7zip批量压缩-把每个文件放到单独的压缩文件中

    在右键增加操作菜单 把每个文件放到单独的压缩文件中

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

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

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

    Java后台批量下载文件并压缩成zip下载的方法 Java后台批量下载文件并压缩成zip下载的方法是指在Java后台中批量下载文件,并将其压缩成zip文件下载到本地桌面。该方法具有重要的参考价值,感兴趣的小伙伴们可以参考...

    快速方便批量查看文件夹大小

    从压缩包子文件的文件名称列表来看: 1. "文件夹大小.bat":这可能是一个批处理文件,也就是一个命令脚本,用户运行这个脚本后,系统会执行预设的一系列命令,帮助用户快速查询并显示文件夹大小。 2. "vfs.dll":...

    批量压缩并加密文件.zip

    批量压缩是指一次性将多个文件或文件夹压缩成一个或多个压缩文件。这种功能对于处理大量的数据或文件备份至关重要。常见的压缩格式有ZIP、RAR等。在"批量压缩大师"中,用户可以选择需要压缩的文件或文件夹,软件会...

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

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

    Spring Boot中使用Java实现文件批量下载与压缩功能

    通过以上步骤,我们成功地实现了一个简单的Spring Boot服务,该服务能够在接收到特定请求时将多份文件打包成ZIP压缩文件并提供给用户一次性下载。这种方式不仅极大地提升了用户体验,还简化了服务器端的处理逻辑。...

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

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

    7Z文件一键批量压缩批处理

    7Z文件一键批量压缩批处理是一种高效且便捷的文件管理技术,主要针对大量文件或文件夹进行快速压缩,尤其适用于需要频繁处理大量数据的IT工作环境。7Z格式是7-Zip软件产生的压缩格式,以其高压缩率和开源特性而受到...

Global site tag (gtag.js) - Google Analytics