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

原文:分享非常有用的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();
				}
	}
		}
	}
}

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

时间: 2024-09-21 08:42:18

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

分享非常有用的Java程序 (关键代码) (一)

原文:分享非常有用的Java程序 (关键代码) (一)    分享一些非常有用的Java程序 (关键代码) ,希望对你有所帮助. 1.  得到当前方法的名字 String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); 2. 转字符串到日期 java.util.Date = java.text.DateFormat.getDateInstance().parse(date String); 或者是:

分享非常有用的Java程序(关键代码)(七)---抓屏程序

原文:分享非常有用的Java程序(关键代码)(七)---抓屏程序  import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import java.io.File; ... public void captureScr

分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要)

原文:分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要)   Java InputStream读取数据问题 ====================================================================== 原理讲解  1. 关于InputStream.read()      在从数据流里读取数据时,为图简单,经常用InputStream.read()方法.这个方法是从流里每

分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要)

原文:分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要) XML文件 <?xml version="1.0"?> <students> <student> <name>John</name> <grade>B</grade> <age>12</age> </student> <student> <name>Mar

分享非常有用的Java程序 (关键代码)(四)---动态改变数组的大小

原文:分享非常有用的Java程序 (关键代码)(四)---动态改变数组的大小  /** * Reallocates an array with a new size, and copies the contents * * of the old array to the new array. * * @param oldArray the old array, to be reallocated. * * @param newSize the new array size. * * @retur

分享非常有用的Java程序 (关键代码)(五)---把 Array 转换成 Map

原文:分享非常有用的Java程序 (关键代码)(五)---把 Array 转换成 Map  import java.util.Map; import org.apache.commons.lang.ArrayUtils; public class Main { public static void main(String[] args) { String[][] countries = { { "United States", "New York" }, { &qu

分享非常有用的Java程序 (关键代码) (二)---列出文件和目录

原文:分享非常有用的Java程序 (关键代码) (二)---列出文件和目录 File dir = new File("directoryName"); String[] children = dir.list(); if (children == null) { // Either dir does not exist or is not a directory } else { for (int i=0; i < children.length; i++) { // Get f

20个非常有用的Java程序片段

下面是20个非常有用的Java程序片段,希望能对你有用. 1. 字符串有整型的相互转换 String a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt(a); //numeric string to an int 2. 向文件末尾添加内容 BufferedWriter out = null; try { out = new BufferedWriter(new FileWriter("filen

怎么将java程序中产生的数据保存为Excel文件

问题描述 怎么将java程序中产生的数据保存为Excel文件 在我的项目中其中产生了一些很重要的数据需要保存下来.在图像中的到的一些矩形框, 已知道矩形框的左上角坐标(x1,y1),右下角坐标(x2,y2):我想把这坐标的四个数据保存到Excel表中.第一列保存第几个矩形框,第2-5列保存相应的四个点的位置. 求java实现的代码.求大神!! 解决方案 你这就是一个excel存储 用jxl或者Poi操作 下面这个有图说明.http://www.cnblogs.com/mingforyou/arc