知识大全 利用Java实现zip压缩/解压缩(1)

Posted 文件

篇首语:少量的常识,当得大量的学问。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 利用Java实现zip压缩/解压缩(1)相关的知识,希望对你有一定的参考价值。

利用Java实现zip压缩/解压缩(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  由于网络带宽有限 所以数据文件的压缩有利于数据在Internet上的快速传输 同时也节     省服务器的外存空间       Java 实现了I/O数据流与网络数据流的单一接口 因此数据的压缩 网络传输和解     压缩的实现比较容易 下面介绍利用ZipEntry ZipInputStream和ZipOutputStream三个Java     类实现zip数据压缩方式的编程方法       zip压缩文件结构:一个zip文件由多个entry组成 每个entry有一个唯一的名称 entry的     数据项存储压缩数据       与zip文件有关的几个Java类       ·类ZipEntry       public ZipEntry(String name);       name为指定的数据项名       ·类ZipOutputStream       ZipOutputStream实现了zip压缩文件的写输出流 支持压缩和非压缩entry 下面是它的     几个函数:       public ZipOutputStream(OutputStream out);       ∥利用输出流out构造一个ZIP输出流       public void setMethod(int method);       ∥设置entry压缩方法 缺省值为DEFLATED       public void putNextEntry(ZipEntry newe);       ∥如果当前的entry存在且处于激活状态时 关闭它 在zip文件中写入新的entry newe     并将数据流定位于entry数据项的起始位置 压缩方法为setMethod指定的方法       ·类ZipInputStream       ZipInputStream实现了zip压缩文件的读输入流 支持压缩和非压缩entry 下面是它的     几个函数:       public ZipInputStream(InputStream in);       ∥利用输入流in构造一个ZIP输出流       public ZipEntry getNextEntry();       ∥返回ZIP文件中的下一个entry 并将输出流定位在此entry数据项的起始位置       public void closeEntry();       ∥关闭当前的zip entry 并将数据流定位于下一个entry的起始位置       程序代码及其注释       下列的程序实现了数据文件zip方式的压缩和解压缩方法 randomData()函数随机生成      个double数据 并放在doc字符串变量中;openFile()函数读取ZIP压缩文件;saveFile()函数     将随机生成的数据存到ZIP格式的压缩文件中       import java util zip *;       import java awt event *;       import java awt *;       import java lang Math;       import java io *;       public class TestZip extends Frame implements ActionListener       TextArea textarea; ∥显示数据文件的多行文本显示域       TextField infotip; ∥显示数据文件未压缩大小及压缩大小单行文本显示域       String doc; ∥存储随机生成的数据       long doczipsize = ;∥压缩数据文件的大小       public TestZip()       ∥生成菜单       MenuBar menubar = new MenuBar();       setMenuBar(menubar);       Menu file = new Menu( File true);       menubar add(file);       MenuItem neww= new MenuItem( New );       neww addActionListener(this);       file add(neww);       MenuItem open=new MenuItem( Open );       open addActionListener(this);       file add(open);       MenuItem save=new MenuItem( Save );       save addActionListener(this);       file add(save);       MenuItem exit=new MenuItem( Exit );       exit addActionListener(this);       file add(exit);       ∥随机生成的数据文件的多行文本显示域       add( Center textarea = new TextArea());       ∥提示文本原始大小 压缩大小的单行文本显示域       add( South infotip = new TextField());              public static void main(String args[])       TestZip ok=new TestZip();       ok setTitle( zip sample );       ok setSize( );       ok show();              private void randomData()       ∥随机生成 个double数据 并放在doc字符串变量中       doc= ;       for(int i= ;i<51;i++)        double rdm=Math.random()*10;        doc=doc+new Double(rdm).toString();        if(i%5 == 0) doc=doc+"\\n";        else doc=doc+" ";              doczipsize = 0;       showTextandInfo();              private void openFile()       ∥打开zip文件,将文件内容读入doc字符串变量中。tW.WInGwIT.       FileDialog dlg=new FileDialog(this,"Open",FileDialog.LOA D);       dlg.show();       String filename=dlg.getDirectory()+dlg.getFile();       try       ∥创建一个文件实例       File f=new File(filename);       if(!f.exists()) return; ∥文件不存在,则返回       ∥用文件输入流构建ZIP压缩输入流       ZipInputStream zipis=new ZipInputStream(new FileInputStream(f));       zipis.getNextEntry();       ∥将输入流定位在当前entry数据项位置       DataInputStream dis=new DataInputStream(zipis);       ∥用ZIP输入流构建DataInputStream       doc=dis.readUTF();∥读取文件内容       dis.close();∥关闭文件       doczipsize = f.length();∥获取ZIP文件长度       showTextandInfo();∥显示数据              catch(IOException ioe)       System.out.println(ioe);                     private void saveFile()       ∥打开zip文件,将doc字符串变量写入zip文件中。       FileDialog dlg=new FileDialog(this,"Save",FileDialog.SAVE);       dlg.show();       String filename=dlg.getDirectory()+dlg.getFile();       try       ∥创建一个文件实例       File f=new File(filename);       if(!f.exists()) return; ∥文件不存在,则返回       ∥用文件输出流构建ZIP压缩输出流       ZipOutputStream zipos=new ZipOutputStream(new FileOutputStream(f));       zipos.setMethod(ZipOutputStream.DEFLATED); ∥设置压缩方法    cha138/Article/program/Java/JSP/201311/19182

相关参考

知识大全 用ASP实现在线压缩与解压缩

用ASP实现在线压缩与解压缩  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一问题的提出&nbs

知识大全 如何用CZip/CUnzip类压缩/解压缩文件

如何用CZip/CUnzip类压缩/解压缩文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Zip

知识大全 asp.net 压缩解压缩zip文件

  [csharp]viewplaincopyprint?  usingSystemusingSystemIOusingSystemDiagnosticsusingMicrosoftWin  usin

知识大全 下载游戏时的"解压缩"是什么意思?怎样进行?

下载游戏时的"解压缩"是什么意思?怎样进行?  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!下载游戏时

知识大全 为什么我的电脑解压不了压缩包?

为什么我的电脑解压不了压缩包?1,解压不成功--压缩包里有文件丢失或损坏--从新下载文件2,不会你没装解压软件吧,--下载解压缩软件如winrar为什么电脑解压不了压缩包楼主,你的这种情况绝大多数都是

知识大全 利用Delphi轻松编制压缩助理程序

利用Delphi轻松编制压缩助理程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一问题的提出

机械蒸汽再压缩污水处理技术

机械蒸汽再压缩污水处理技术适用范围城市污水,化工、制药、印染等行业废水处理基本原理该技术针对蒸发过程中的余热蒸汽进行循环利用,采用水蒸汽压缩机将蒸汽进一步压缩作为热源来循环加热浓污水使其蒸发,而压缩后

机械蒸汽再压缩污水处理技术

机械蒸汽再压缩污水处理技术适用范围城市污水,化工、制药、印染等行业废水处理基本原理该技术针对蒸发过程中的余热蒸汽进行循环利用,采用水蒸汽压缩机将蒸汽进一步压缩作为热源来循环加热浓污水使其蒸发,而压缩后

机械蒸汽再压缩污水处理技术

机械蒸汽再压缩污水处理技术适用范围城市污水,化工、制药、印染等行业废水处理基本原理该技术针对蒸发过程中的余热蒸汽进行循环利用,采用水蒸汽压缩机将蒸汽进一步压缩作为热源来循环加热浓污水使其蒸发,而压缩后

知识大全 关于rar压缩包中exe文件解压后不显示的问题,急

关于rar压缩包中exe文件解压后不显示的问题,急!单独把exe拖到你解压的目录试试,如果没有提示覆盖的话,多半被杀毒软件杀掉了,关掉你的病毒防火墙实时监控。解压缩包后不显示解压后的文件你在该文件夹里