zip解析
来源:互联网 发布:无法telnet 端口 编辑:程序博客网 时间:2024/05/16 07:30
软件包 java.util.zip 的分层结构
- java.lang.Object
- java.util.zip.Adler32 (implements java.util.zip.Checksum)
- java.util.zip.CRC32 (implements java.util.zip.Checksum)
- java.util.zip.Deflater
- java.util.zip.Inflater
- java.io.InputStream (implements java.io.Closeable)
- java.io.FilterInputStream
- java.util.zip.CheckedInputStream
- java.util.zip.DeflaterInputStream
- java.util.zip.InflaterInputStream
- java.util.zip.GZIPInputStream
- java.util.zip.ZipInputStream
- java.io.FilterInputStream
- java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
- java.io.FilterOutputStream
- java.util.zip.CheckedOutputStream
- java.util.zip.DeflaterOutputStream
- java.util.zip.GZIPOutputStream
- java.util.zip.ZipOutputStream
- java.util.zip.InflaterOutputStream
- java.io.FilterOutputStream
- java.lang.Throwable (implements java.io.Serializable)
- java.lang.Error
- java.lang.VirtualMachineError
- java.lang.InternalError
- java.util.zip.ZipError
- java.lang.InternalError
- java.lang.VirtualMachineError
- java.lang.Exception
- java.util.zip.DataFormatException
- java.io.IOException
- java.util.zip.ZipException
- java.lang.Error
- java.util.zip.ZipEntry (implements java.lang.Cloneable)
- java.util.zip.ZipFile
ZipFile含有 ZipEntry 可以使用 ZipFile.entrys() ZipFile.getEntry()函数来获得ZipEntry对象。
如果想读取ZipEntry可使用ZipFile.getInputStream()来获得ZipEntry的流对象。
<pre name="code" class="java">package com.lmk.test.ziptest;import java.io.IOException;import java.util.Enumeration;import java.util.Scanner;import java.util.zip.ZipEntry;import java.util.zip.ZipFile;public class ZipTest {public static void main(String[] args){ZipTest test = new ZipTest();test.openZipFile();}private void openZipFile() {// TODO Auto-generated method stubZipFile file = null;try {file = new ZipFile("d:/lmk.zip");info(file.getName());info(file.size()+"");Enumeration<ZipEntry> entrys = (Enumeration<ZipEntry>) file.entries();//for (ZipEntry entry = entrys.nextElement();entrys.hasMoreElements();) {//info(entry.getName());//注意 这里的getName 不识别汉字。//entry = entrys.nextElement();//}ZipEntry entry = null;do{entry = entrys.nextElement();info(entry.getName()+" "+entry.isDirectory());//注意 这里的getName 不识别汉字。info(entry.getMethod()+"");if(entry.getName().endsWith("txt")){readZipEntry(file,entry);}}while(entrys.hasMoreElements());file.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally{}}private void readZipEntry( ZipFile file, ZipEntry entry) {// TODO Auto-generated method stubScanner in = null;try {in = new Scanner(file.getInputStream(entry));while(in.hasNext()){info(in.nextLine());}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally{in.close();}}private void info(String s) {// TODO Auto-generated method stubSystem.out.println(s);}}
还有一种读取方法就是使用ZipInputStream对象。
<pre name="code" class="java">private void readZipFile() {// TODO Auto-generated method stubZipInputStream in = null;ZipEntry entry = null;int num = 0;try {in =new ZipInputStream(new FileInputStream("d:/lmk.zip"));while((entry = in.getNextEntry())!= null){num++;if (entry.getName().endsWith("txt")){Scanner scan = new Scanner(in);//注意这里直接将ZipInputStream导入while(scan.hasNextLine()){info(scan.nextLine());}}in.closeEntry();}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
0 0
- zip解析
- JAVA 解析加密ZIP
- zip函数解析
- zip文件格式解析
- 利用SSZipArchive解析zip
- Android自助餐之解析zip
- [Android]Android之解析zip
- Zip文件解析与利用
- 解析ZIP文件的多国化问题
- 006-Map、Tuple、Zip实战解析
- Python调用zip命令正确操作方法解析
- scala-06Map、Tuple、Zip实战解析
- python map(),zip(),filter()函数解析
- 6.Map、Tuple、Zip实战解析
- zip
- zip
- zip
- zip
- 系统杂类--------删除GHOSTwin7桌面顽固IE图标
- 微软明年1月发布消费者预览版Windows 10
- [调试]_[初级]_[VS本地Windows调试器]
- 美国人感恩节都在感谢什么?
- LBS:战略聚焦点
- zip解析
- jQuery弹性滑动导航菜单
- [调试]_[初级]_[Windbg使用教程]
- 朝鲜唯一一家移动运营商赚大了:季度盈利三千万美元
- Alex 的 Hadoop 菜鸟教程: 第12课 Sqoop1 安装/导入/导出教程
- 碉堡了!这款应用能像病毒一样传播信息
- 【震撼】《京东技术解密》获众大神集体推荐,4千人10年经验一次放送
- Android:内存泄漏调试学习与总结
- 同步与异步的概念