Java无需解压直接读取Zip文件和文件内容

http://www.cnblogs.com/kgdxpr/archive/2013/05/20/3088254.html

package test;

import java.io.BufferedInputStream;

import java.io.BufferedReader;

import java.io.FileInputStream;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.util.zip.ZipEntry;

import java.util.zip.ZipFile;

import java.util.zip.ZipInputStream;

public class aaaa {

public static void main(String[] args) throws Exception {

try {

readZipFile("D:\\ztree.zip");

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static void readZipFile(String file) throws Exception {

ZipFile zf = new ZipFile(file);

InputStream in = new BufferedInputStream(new FileInputStream(file));

ZipInputStream zin = new ZipInputStream(in);

ZipEntry ze;

while ((ze = zin.getNextEntry()) != null) {

if (ze.isDirectory()) {

} else {

System.err.println("file - " + ze.getName() + " : "

+ ze.getSize() + " bytes");

long size = ze.getSize();

if (size > 0) {

BufferedReader br = new BufferedReader(

new InputStreamReader(zf.getInputStream(ze)));

String line;

while ((line = br.readLine()) != null) {

System.out.println(line);

}

br.close();

}

System.out.println();

}

}

zin.closeEntry();

}

}

====================================================

Java IO 之 ZipFile/ZipInputStream/ZipOutputStream

http://blog.csdn.net/mhl29/article/details/6781229

public void runZipInputStream() throws IOException {

//1. 创建zip输入流

ZipInputStream zin = new ZipInputStream(new FileInputStream("IOTest.zip"));

ZipEntry ze;

//2. 逐个处理条目

while ((ze = zin.getNextEntry()) != null) {

//测试: 输出条目的信息

System.out.printf("条目信息: 名称%1$b, 大小%2$d, 压缩时间%3$d \n", ze.getName(), ze.getSize(), ze.getTime());

//3. 操作文件内容-输出、处理

FileInputStream fin = new FileInputStream(ze.getName());

byte[] buffer = new byte[4096];

int len;

while ((len = fin.read(buffer)) != -1) {

System.out.print(new String(buffer, 0, len));

}

}

}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐