亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 利用java實(shí)現(xiàn)zip壓縮解壓縮.txt

?? Java技術(shù)收集很多各種技術(shù)總結(jié)
?? TXT
字號:
作者:五一
日期:00-7-7 14:06:26
利用Java實(shí)現(xiàn)zip壓縮/解壓縮
(作者: 2000年07月06日 13:30)

  由于網(wǎng)絡(luò)帶寬有限,所以數(shù)據(jù)文件的壓縮有利于數(shù)據(jù)在Internet上的快速傳輸,同時也節(jié) 

省服務(wù)器的外存空間。 

  Java 1.1實(shí)現(xiàn)了I/O數(shù)據(jù)流與網(wǎng)絡(luò)數(shù)據(jù)流的單一接口,因此數(shù)據(jù)的壓縮、網(wǎng)絡(luò)傳輸和解 

壓縮的實(shí)現(xiàn)比較容易,下面介紹利用ZipEntry、ZipInputStream和ZipOutputStream三個Java 

類實(shí)現(xiàn)zip數(shù)據(jù)壓縮方式的編程方法。 

  zip壓縮文件結(jié)構(gòu):一個zip文件由多個entry組成,每個entry有一個唯一的名稱,entry的 

數(shù)據(jù)項(xiàng)存儲壓縮數(shù)據(jù)。 

  與zip文件有關(guān)的幾個Java類 

  ·類ZipEntry 

  public ZipEntry(String name); 

  name為指定的數(shù)據(jù)項(xiàng)名。 

  ·類ZipOutputStream 

  ZipOutputStream實(shí)現(xiàn)了zip壓縮文件的寫輸出流,支持壓縮和非壓縮entry。下面是它的 

幾個函數(shù): 

  public ZipOutputStream(OutputStream out); 

  ∥利用輸出流out構(gòu)造一個ZIP輸出流。 

  public void setMethod(int method); 

  ∥設(shè)置entry壓縮方法,缺省值為DEFLATED。 

  public void putNextEntry(ZipEntry newe); 

  ∥如果當(dāng)前的entry存在且處于激活狀態(tài)時,關(guān)閉它,在zip文件中寫入新的entry-newe 

并將數(shù)據(jù)流定位于entry數(shù)據(jù)項(xiàng)的起始位置,壓縮方法為setMethod指定的方法。 

  ·類ZipInputStream 

  ZipInputStream實(shí)現(xiàn)了zip壓縮文件的讀輸入流,支持壓縮和非壓縮entry。下面是它的 

幾個函數(shù): 

  public ZipInputStream(InputStream in); 

  ∥利用輸入流in構(gòu)造一個ZIP輸出流。 

  public ZipEntry getNextEntry(); 

  ∥返回ZIP文件中的下一個entry,并將輸出流定位在此entry數(shù)據(jù)項(xiàng)的起始位置。 

  public void closeEntry(); 

  ∥關(guān)閉當(dāng)前的zip entry,并將數(shù)據(jù)流定位于下一個entry的起始位置。 

  程序代碼及其注釋 

  下列的程序?qū)崿F(xiàn)了數(shù)據(jù)文件zip方式的壓縮和解壓縮方法。randomData()函數(shù)隨機(jī)生成 

50個double數(shù)據(jù),并放在doc字符串變量中;openFile()函數(shù)讀取ZIP壓縮文件;saveFile()函數(shù) 

將隨機(jī)生成的數(shù)據(jù)存到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; ∥顯示數(shù)據(jù)文件的多行文本顯示域 

  TextField infotip; ∥顯示數(shù)據(jù)文件未壓縮大小及壓縮大小單行文本顯示域 

  String doc; ∥存儲隨機(jī)生成的數(shù)據(jù) 

  long doczipsize = 0;∥壓縮數(shù)據(jù)文件的大小 

  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); 

  ∥隨機(jī)生成的數(shù)據(jù)文件的多行文本顯示域 

  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(600,300); 

  ok.show(); 

  } 

  private void randomData(){ 

  ∥隨機(jī)生成50個double數(shù)據(jù),并放在doc字符串變量中。 

  doc=""; 

  for(int i=1;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文件,將文件內(nèi)容讀入doc字符串變量中。 

  FileDialog dlg=new FileDialog(this,"Open",FileDialog.LOA D); 

  dlg.show(); 

  String filename=dlg.getDirectory()+dlg.getFile(); 

  try{ 

  ∥創(chuàng)建一個文件實(shí)例 

  File f=new File(filename); 

  if(!f.exists()) return; ∥文件不存在,則返回 

  ∥用文件輸入流構(gòu)建ZIP壓縮輸入流 

  ZipInputStream zipis=new ZipInputStream(new FileInputStream(f)); 

  zipis.getNextEntry(); 

  ∥將輸入流定位在當(dāng)前entry數(shù)據(jù)項(xiàng)位置 

  DataInputStream dis=new DataInputStream(zipis); 

  ∥用ZIP輸入流構(gòu)建DataInputStream 

  doc=dis.readUTF();∥讀取文件內(nèi)容 

  dis.close();∥關(guān)閉文件 

  doczipsize = f.length();∥獲取ZIP文件長度 

  showTextandInfo();∥顯示數(shù)據(jù) 

  } 

  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{ 

  ∥創(chuàng)建一個文件實(shí)例 

  File f=new File(filename); 

  if(!f.exists()) return; ∥文件不存在,則返回 

  ∥用文件輸出流構(gòu)建ZIP壓縮輸出流 

  ZipOutputStream zipos=new ZipOutputStream(new FileOutputStream(f)); 

  zipos.setMethod(ZipOutputStream.DEFLATED); ∥設(shè)置壓縮方法 

  zipos.putNextEntry(new ZipEntry("zip")); 

  ∥生成一個ZIP entry,寫入文件輸出流中,并將輸出流定位于entry起始處。 

  DataOutputStream os=new DataOutputStream(zipos); 

  ∥用ZIP輸出流構(gòu)建DataOutputStream; 

  os.writeUTF(doc);∥將隨機(jī)生成的數(shù)據(jù)寫入文件中 

  os.close();∥關(guān)閉數(shù)據(jù)流 

  doczipsize = f.length(); 

  ∥獲取壓縮文件的長度 

  showTextandInfo();∥顯示數(shù)據(jù) 

  } 

  catch(IOException ioe){ 

  System.out.println(ioe); 

  } 

  } 

  private void showTextandInfo(){ 

  ∥顯示數(shù)據(jù)文件和壓縮信息 

  textarea.replaceRange(doc,0,textarea.getText().length()); 

  infotip.setText("uncompressed size: "+doc.length()+"compressed size: "+dc zipsize); 

  } 

  public void actionPerformed(ActionEvent e){ 

  String arg = e.getActionCommand(); 

  if ("New".equals(arg)) randomData(); 

  else if ("Open".equals(arg)) openFile(); 

  else if ("Save".equals(arg)) saveFile(); 

  else if ("Exit".equals(arg)){ 

   dispose();∥關(guān)閉窗口 

   System.exit(0);∥關(guān)閉程序 

  } 

  else { 

   System.out.println("no this command!"); 

  } 

  } 

  } 



?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级一区二区| 欧美日韩在线电影| 亚洲电影一区二区| 2023国产精华国产精品| 91麻豆精品在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 久久久精品免费观看| 欧美色精品在线视频| 国产精华液一区二区三区| 午夜精品久久久久久久99樱桃| 久久精品夜色噜噜亚洲aⅴ| 欧美探花视频资源| 北条麻妃一区二区三区| 久久99蜜桃精品| 亚洲图片一区二区| 亚洲男人的天堂av| 国产午夜精品一区二区三区嫩草| 7878成人国产在线观看| 91年精品国产| av一二三不卡影片| 国产丶欧美丶日本不卡视频| 美女视频免费一区| 日韩精品亚洲一区| 一二三四区精品视频| 国产精品乱码一区二三区小蝌蚪| 精品福利一区二区三区| 欧美一区二区大片| 欧美丰满少妇xxxbbb| 欧美自拍丝袜亚洲| 91久久香蕉国产日韩欧美9色| 成人在线一区二区三区| 国产成人免费视| 国产在线视频一区二区三区| 免费成人在线观看视频| 丝袜美腿成人在线| 日韩精品电影在线| 婷婷成人激情在线网| 午夜一区二区三区在线观看| 亚洲成人午夜影院| 午夜精品在线视频一区| 亚洲成人一区在线| 日av在线不卡| 国产一区二区三区免费播放| 久久99热狠狠色一区二区| 精品无人码麻豆乱码1区2区| 精品系列免费在线观看| 国产一区 二区 三区一级| 国产伦精品一区二区三区在线观看| 国产综合久久久久久久久久久久| 精品在线观看免费| 国产一区二区按摩在线观看| 国产精品18久久久久久久久| 国产成人精品免费视频网站| 成人毛片老司机大片| 91视视频在线观看入口直接观看www | 国产婷婷一区二区| 国产午夜亚洲精品羞羞网站| 国产精品久久久久久亚洲毛片 | 国产精品福利av| 国产精品传媒视频| 亚洲激情校园春色| 天天免费综合色| 麻豆精品国产91久久久久久| 黄色日韩三级电影| av爱爱亚洲一区| 欧美三级蜜桃2在线观看| 日韩一区二区视频| 日本一区二区三区高清不卡| 中文无字幕一区二区三区| 亚洲欧美国产高清| 日韩黄色片在线观看| 国产精品中文有码| 色哟哟精品一区| 在线播放中文一区| 国产喂奶挤奶一区二区三区| 亚洲卡通动漫在线| 日韩精品乱码av一区二区| 国产精品456| 欧美无砖专区一中文字| 日韩欧美一级精品久久| 欧美激情中文字幕| 亚洲成人免费av| 国产高清精品网站| 精品视频资源站| 国产欧美日韩另类一区| 亚洲国产裸拍裸体视频在线观看乱了| 美女视频第一区二区三区免费观看网站| 成人午夜私人影院| 欧美一区2区视频在线观看| 中文字幕乱码久久午夜不卡 | 麻豆91精品91久久久的内涵| 波多野结衣欧美| 欧美一区二区精品| 亚洲精品国产成人久久av盗摄| 蜜臀av一区二区| 日本久久一区二区三区| 久久综合色天天久久综合图片| 一区二区三区美女| 国产91丝袜在线播放0| 538在线一区二区精品国产| 综合欧美亚洲日本| 国产乱子伦视频一区二区三区| 欧美撒尿777hd撒尿| 中文字幕在线观看一区二区| 久久精品久久99精品久久| 在线国产电影不卡| 国产精品久久久久久久午夜片 | 亚洲曰韩产成在线| 国产成人精品aa毛片| 欧美一区二区精美| 亚洲v日本v欧美v久久精品| 95精品视频在线| 久久久久久9999| 久久精品国产精品青草| 欧美喷潮久久久xxxxx| 亚洲品质自拍视频| 成人精品国产福利| 久久精品一区二区三区四区| 久久精品国产精品亚洲综合| 56国语精品自产拍在线观看| 亚洲愉拍自拍另类高清精品| 日本乱人伦aⅴ精品| 亚洲激情自拍偷拍| 91网上在线视频| 中文字幕电影一区| 国产99久久久久久免费看农村| 26uuu国产日韩综合| 欧美a级理论片| 欧美一区二区在线免费观看| 亚洲成人www| 欧美美女一区二区在线观看| 亚洲自拍都市欧美小说| 欧美综合一区二区三区| 亚洲成人综合在线| 欧美日韩亚洲丝袜制服| 亚洲国产综合色| 欧美日韩你懂得| 日韩综合一区二区| 欧美一区二区成人6969| 韩国成人在线视频| 久久九九国产精品| 成人免费av网站| 一区二区三区影院| 欧美日本不卡视频| 蜜臀av一级做a爰片久久| 精品福利二区三区| 成人免费视频一区二区| 国产精品国产自产拍高清av| av高清不卡在线| 亚洲免费av网站| 欧美色视频一区| 精品在线播放午夜| 国产精品嫩草99a| 色美美综合视频| 同产精品九九九| 精品久久久久久无| 成人美女视频在线看| 亚洲精品欧美专区| 欧美人妖巨大在线| 国精产品一区一区三区mba视频| 国产精品天美传媒沈樵| 色偷偷成人一区二区三区91| 五月综合激情婷婷六月色窝| 日韩视频免费观看高清完整版在线观看 | 懂色av一区二区三区免费看| 综合色天天鬼久久鬼色| 欧美精品一级二级| 国产一区二区三区高清播放| 亚洲女子a中天字幕| 欧美高清一级片在线| 国产伦精品一区二区三区免费迷| 国产精品成人午夜| 51午夜精品国产| thepron国产精品| 视频在线观看91| 欧美激情中文字幕一区二区| 欧美日韩中文国产| 国产成人亚洲综合a∨猫咪| 怡红院av一区二区三区| 日韩精品一区二区三区在线| 99久久精品国产导航| 日本系列欧美系列| 国产精品免费av| 777色狠狠一区二区三区| 国产69精品久久777的优势| 亚洲国产欧美在线| 欧美激情一区二区三区蜜桃视频 | 中文字幕成人网| 日韩一级片在线观看| 99精品视频一区| 理论电影国产精品| 一区二区国产盗摄色噜噜| 337p粉嫩大胆噜噜噜噜噜91av| 色先锋资源久久综合| 国产麻豆91精品| 青青草91视频| 洋洋av久久久久久久一区| 欧美激情在线看| 精品成人佐山爱一区二区| 欧美日韩一区二区在线视频|