Java.io.压缩文件夹

// 压缩文件夹
	//先用输入流读取文件,之后再用压缩流输出文件
	public static void main(String[] args) throws Exception {
		File file = new File("d:" + File.separator + "myDir");// 源文件
		File zipFile = new File("d:" + File.separator + "2.zip");// 被压缩文件的路径

		InputStream inputStream = null;
		ZipOutputStream zipOutputStream = new ZipOutputStream(new FileOutputStream(zipFile));
		zipOutputStream.setComment("压缩的注释");

		if (file.isDirectory()) {//如果文件里面有目录
			
			File[] listFiles = file.listFiles();//列出全部文件
			for (int i = 0; i < listFiles.length; i++) {
				inputStream = new FileInputStream(listFiles[i]);//为每一个文件设置输入流
				
				// 每一个压缩文件的子文件都用ZipEntry表示
				// 需要为每一个压缩的文件,设置名称
				zipOutputStream.putNextEntry(new ZipEntry(file.getName() + File.separator + listFiles[i].getName()));
				int temp = 0;
				
				while ((temp = inputStream.read()) != -1) {// 读取内容
					zipOutputStream.write(temp);// 压缩输出内容
				}
				inputStream.close();   
			}
		}
		zipOutputStream.close();
	}

猜你喜欢

转载自8850702.iteye.com/blog/2282012