java快速读取zip包中指定文件的字节流

快速的读取到zip包中字符串,有另外一中方式。不过对较大的zip包读取速度超慢。这个方法只要你只是针对确定zip包中的某个文件读取的话绝对不会超过1秒,Enumeration 读取zip包中目录结构很快,定位字节流也很快。
ZipEntry entry ; //得到zip包中文件
ZipFile zf = new ZipFile("d:\\a.zip");
Enumeration enu=zf.entries();
while(enu.hasMoreElements()){
    entry=(ZipEntry)enu.nextElement();
    if(entry.getName().indexOf("/")>0){
continue;
    }
    if(!entry.isDirectory()){ //找到文本文件,转换字字节流
if(entry.getName().toLowerCase().equals("paramdefine.json")){ InputStream is = zf.getInputStream(entry);
int len = 0;
byte[] b = new byte[1024];  
while ((len = is.read(b)) != -1) {   //字节流输入
   String str = new String(b,0,len,"gb2312");
}
break;
}
   }
}

你可能感兴趣的:(java,json)