分享非常有用的Java程序 (关键代码) (三)---创建ZIP和JAR文件

简介: 原文: 分享非常有用的Java程序 (关键代码) (三)---创建ZIP和JAR文件  import java.util.zip.*; import java.
原文: 分享非常有用的Java程序 (关键代码) (三)---创建ZIP和JAR文件

 

import java.util.zip.*;   
import java.io.*;       
public class ZipIt {       
	public static void main(String args[]) throws IOException { 
		if (args.length < 2) {              
			System.err.println("usage: java ZipIt Zip.zip file1 file2 file3");               
			System.exit(-1);           
			}           
		File zipFile = new File(args[0]);           
		if (zipFile.exists()) {               
			System.err.println("Zip file already exists, please try another");
			System.exit(-2);          
			}           
		FileOutputStream fos = new FileOutputStream(zipFile);           
		ZipOutputStream zos = new ZipOutputStream(fos);           
		int bytesRead;           
		byte[] buffer = new byte[1024];           
		CRC32 crc = new CRC32();           
		for (int i=1, n=args.length; i < n; i++) {               
			String name = args[i];               
			File file = new File(name);               
			if (!file.exists()) {                   
				System.err.println("Skipping: " + name);                   
				continue;               
				}               
			BufferedInputStream bis = new BufferedInputStream( new FileInputStream(file));               
			crc.reset();               
			while ((bytesRead = bis.read(buffer)) != -1) {                   
				crc.update(buffer, 0, bytesRead);               
				}               
			bis.close();               
				// Reset to beginning of input stream               
			bis = new BufferedInputStream(new FileInputStream(file));               
			ZipEntry entry = new ZipEntry(name);               
			entry.setMethod(ZipEntry.STORED);              
			entry.setCompressedSize(file.length());               
			entry.setSize(file.length());               
			entry.setCrc(crc.getValue());               
			zos.putNextEntry(entry);              
			while ((bytesRead = bis.read(buffer)) != -1) {                   
				zos.write(buffer, 0, bytesRead);              
				}               bis.close();           
				}           
		zos.close();       
				}   
	} 
		}
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

目录
相关文章
|
10月前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
623 6
|
10月前
|
Java 数据处理 API
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
408 115
|
10月前
|
安全 Java 编译器
为什么你的Java代码需要泛型?类型安全的艺术
为什么你的Java代码需要泛型?类型安全的艺术
304 98
|
10月前
|
安全 Java 容器
告别空指针噩梦:Optional让Java代码更优雅
告别空指针噩梦:Optional让Java代码更优雅
551 94
|
10月前
|
Java 编译器 API
java最新版和java8的区别,用代码展示
java最新版和java8的区别,用代码展示
717 43
|
缓存 监控 算法
Java程序性能优化策略与实践
在当今软件开发领域,Java作为一种广泛应用的编程语言,其程序性能优化显得尤为重要。本文将介绍一些Java程序性能优化的策略和实践,帮助开发者提高代码执行效率、减少资源消耗,并优化用户体验。通过深入探讨各种优化技术和工具,读者将能够更好地理解和运用这些策略,有效提升Java应用程序的性能。
242 1
|
算法 Java 数据处理
Java程序性能优化研究
Java程序性能优化研究
290 0
|
监控 算法 Java
限时!字节Java程序性能优化宝典开源,原来这才叫性能优化
让你的Java程序更快、更稳定 程序的性能受代码质量的直接影响。那么该如何让代码在级别上提升系统性能呢? 其实性能提升永远没有捷径,需要 分析、优化、实验、监控 ,需要一点点积累和深入。随着你对项目和性能优化理解不断深入,会发现提升性能的手段变得越来越丰富,性能数据自然也会跟着上去。 一个优秀的程序员,不仅要会编写程序,更要会编写高质量的程序感受Java开发中的大智慧,让你的Java程序更优美。那么今天LZ挖出一份有关Java程序性能优化的文档,可以让你的Java程序更快、更稳定,主要是涵盖了一些Java程序的优化方法和技巧:
260 1
竟有阿里大牛用678页PDF只讲Java程序性能优化,除了干货就是干货
Java程序性能优化虽然是一个老生常谈的话题,但想要把这个话题真正讲解清楚却并不容易。目前,市面上为数不多的讲解Java程序性能优化的图书内容不够深入,讲解也不够浅显易懂,有的甚至晦涩难懂。
|
监控 算法 Java
限时!字节Java程序性能优化宝典开源,原来这才叫性能优化
让你的Java程序更快、更稳定 程序的性能受代码质量的直接影响。那么该如何让代码在级别上提升系统性能呢?