https://www.cnblogs.com/jeffen/p/6931199.html
最近做的一个Android项目中,需要将一个有20W份html文件的压缩包下载到本地,解压后在本地浏览;在解压的时候尝试了很多方法都无法完成解压(文件数量太大,要么解压超慢要么就内存溢出程序崩溃),后来放弃解压,直接从压缩包中读取文件,下面将方法整理如下
-
通过
ZipFile.getEntry(“文件名”)
方法获取来获取压缩包中的指定文件对象public static void readZipFile(String file,String fileName) throws Exception { ZipFile zf = new ZipFile(file); ZipEntry ze = zf.getEntry(fileName); InputStream in = zf.getInputStream(ze); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String line; StringBuffer result = new StringBuffer(); while ((line = br.readLine()) != null) { result.append(line+"\n"); } System.out.println(result); }
在上面的方法中,只要指定压缩包路径(file)以及压缩包中指定的文件名称(fileName),就可以读取到该html文件中的内容;