最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java壓縮/解壓文件的實(shí)現(xiàn)代碼

 更新時(shí)間:2017年09月21日 15:35:34   作者:左岸流華  
本文通過(guò)實(shí)例代碼給大家分享了Java壓縮/解壓文件的方法,需要的朋友參考下吧

用java壓縮/解壓文件: 

import java.io.*; 
import java.awt.*; 
import java.awt.event.*; 
import java.util.*; 
import java.util.zip.*; 
import javax.swing.*; 
//從壓縮包中提取文件 
public class ZipExtractDemo extends JFrame{ 
  JFileChooser fileChooser; //文件選擇器 
  JTextField jtfTarget; //待解壓文件路徑 
  JButton jbSelected; //選擇文件按鈕 
  JList files; //信息顯示列表框 
  JButton jbExtract; //解壓按鈕 
  ZipFile zFile;  
  public ZipExtractDemo(){ 
    super("從壓縮包中提取文件"); //調(diào)用父類(lèi)構(gòu)造函數(shù) 
    fileChooser=new JFileChooser(); //實(shí)例化組件 
    jtfTarget=new JTextField(13); 
    jbSelected=new JButton("選擇"); 
    jbExtract=new JButton("解壓"); 
    files=new JList(); 
    JPanel panel=new JPanel(); //實(shí)例化面板 
    panel.add(new JLabel("目標(biāo)文件")); 
    panel.add(jtfTarget); //增加組件到面板上 
    panel.add(jbSelected); 
    panel.add(jbExtract); 
    JScrollPane jsp=new JScrollPane(files); 
    jsp.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); //設(shè)置邊界 
    Container container=getContentPane(); //得以容器 
    container.add(panel,BorderLayout.NORTH); //增加組件到容器上 
    container.add(jsp,BorderLayout.CENTER); 
    jbSelected.addActionListener(new ActionListener(){ //文件選擇按鈕事件處理 
      public void actionPerformed(ActionEvent event) { 
        if (fileChooser.showOpenDialog(ZipExtractDemo.this)==JFileChooser.APPROVE_OPTION){ //彈出文件選擇器,并判斷是否點(diǎn)擊了打開(kāi)按鈕 
          String fileName=fileChooser.getSelectedFile().getAbsolutePath();  //得到選擇文件的絕對(duì)路徑 
          jtfTarget.setText(fileName); //設(shè)置目標(biāo)文件名 
          showFiles(); //顯示壓縮包內(nèi)容 
      } 
      } 
    }); 
    jbExtract.addActionListener(new ActionListener(){  //解村文件按鈕事件處理 
      public void actionPerformed(ActionEvent event) {  
          extractFile(files.getSelectedValue().toString()); //解壓指定文件 
      } 
    }); 
    setSize(350,250);  //設(shè)置窗口尺寸 
    setVisible(true);  //設(shè)置窗口可視 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //關(guān)閉窗口時(shí)退出程序 
  } 
  public void showFiles(){ 
    try{ 
    zFile=new ZipFile(jtfTarget.getText()); //得到壓縮文件實(shí)例 
    ZipEntry entry; 
    Vector vec=new Vector(); //文件枚舉 
      Enumeration enu=zFile.entries(); //得到壓縮條目的枚舉對(duì)象 
      while (enu.hasMoreElements()){ //依次枚舉條目 
        entry=(ZipEntry) enu.nextElement(); //得到壓縮條目 
        vec.add(entry.getName());  //增加文件到Vector內(nèi)    
      } 
      files.setListData(vec); //設(shè)置文件列表框數(shù)據(jù) 
      files.getSelectedValues(); 
    } 
    catch (Exception ex){ 
      ex.printStackTrace(); //輸出錯(cuò)誤信息 
    }     
  } 
  public void extractFile(String name){ //解壓文件 
    try{ 
    ZipEntry entry=zFile.getEntry(name);  
    entry.getComment(); 
    entry.getCompressedSize(); 
    entry.getCrc(); 
    entry.isDirectory(); 
    entry.getSize(); 
    entry.getMethod(); 
    InputStream in=zFile.getInputStream(entry); //得到文件輸入流 
    File file=new File(name); //實(shí)例化文件對(duì)象 
    FileOutputStream out=new FileOutputStream(file); //得到文件輸出流 
    byte[] buffer=new byte[1024]; //緩沖區(qū)大小 
    int length; 
    while((length = in.read(buffer)) != -1) { //循環(huán)讀取數(shù)據(jù) 
      out.write(buffer, 0, length); //寫(xiě)數(shù)據(jù)到輸出流 
    } 
      JOptionPane.showMessageDialog(ZipExtractDemo.this,"解壓成功,解壓到:"+file.getAbsolutePath());  
    in.close(); //關(guān)閉輸入流 
    out.close(); //關(guān)閉輸出流   
    } catch (Exception ex){} 
  } 
  public static void main(String[] args){ 
    new ZipExtractDemo(); 
  } 
} 

總結(jié)

以上所述是小編給大家介紹的Java壓縮/解壓文件的實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • java 基礎(chǔ)教程之多線程詳解及簡(jiǎn)單實(shí)例

    java 基礎(chǔ)教程之多線程詳解及簡(jiǎn)單實(shí)例

    這篇文章主要介紹了java 基礎(chǔ)教程之多線程詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,線程的基本屬性、如何創(chuàng)建線程、線程的狀態(tài)切換以及線程通信,需要的朋友可以參考下
    2017-03-03
  • Java利用多線程復(fù)制文件

    Java利用多線程復(fù)制文件

    這篇文章主要介紹了Java利用多線程復(fù)制文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • 深入理解Java編程線程池的實(shí)現(xiàn)原理

    深入理解Java編程線程池的實(shí)現(xiàn)原理

    這篇文章主要介紹了深入理解Java編程線程池的實(shí)現(xiàn)原理,涉及ThreadPoolExecutor類(lèi),線程池實(shí)現(xiàn)原理及示例等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • java的線程池框架及線程池的原理

    java的線程池框架及線程池的原理

    這篇文章主要介紹了java的線程池框架及線程池的原理的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Java?詳細(xì)講解用堆解決Top-k問(wèn)題

    Java?詳細(xì)講解用堆解決Top-k問(wèn)題

    TopK問(wèn)題即在N個(gè)數(shù)中找出最大的前K個(gè),這篇文章將詳細(xì)講解如何利用小根堆的方法解決TopK問(wèn)題,文中代碼具有一定參考價(jià)值,快跟隨小編一起學(xué)習(xí)一下吧
    2022-04-04
  • K8S環(huán)境下如何驗(yàn)證RocketMQ擴(kuò)縮容

    K8S環(huán)境下如何驗(yàn)證RocketMQ擴(kuò)縮容

    文章主要內(nèi)容驗(yàn)證了K8S環(huán)境下RocketMQ的擴(kuò)縮容特性,包括序號(hào)變化、命名規(guī)則以及節(jié)點(diǎn)重建后序號(hào)保持不變,StatefulSet確保Pod序號(hào)在重建后保持穩(wěn)定,而Deployment創(chuàng)建的Pod名稱(chēng)是隨機(jī)的
    2025-01-01
  • java實(shí)現(xiàn)簡(jiǎn)單學(xué)生成績(jī)管理系統(tǒng)

    java實(shí)現(xiàn)簡(jiǎn)單學(xué)生成績(jī)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單學(xué)生成績(jī)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • ElasticSearch學(xué)習(xí)之多條件組合查詢(xún)驗(yàn)證及示例分析

    ElasticSearch學(xué)習(xí)之多條件組合查詢(xún)驗(yàn)證及示例分析

    這篇文章主要為大家介紹了ElasticSearch 多條件組合查詢(xún)驗(yàn)證及示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • IDEA 2020代碼提示忽略大小寫(xiě)的問(wèn)題

    IDEA 2020代碼提示忽略大小寫(xiě)的問(wèn)題

    這篇文章主要介紹了IDEA 2020代碼提示忽略大小寫(xiě)的問(wèn)題,本文通過(guò)圖文并茂的形式給大家分享解決方法,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Java發(fā)送form-data請(qǐng)求的實(shí)例代碼

    Java發(fā)送form-data請(qǐng)求的實(shí)例代碼

    在Java中發(fā)送form-data請(qǐng)求,可以使用Apache?HttpClient或OkHttp這樣的HTTP客戶(hù)端庫(kù)來(lái)發(fā)送請(qǐng)求,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-10-10

最新評(píng)論

巍山| 靖西县| 大渡口区| 铜梁县| 襄樊市| 积石山| 福泉市| 蓬莱市| 卢龙县| 屏山县| 哈尔滨市| 岢岚县| 龙泉市| 九龙县| 南投市| 雷山县| 南皮县| 扬中市| 文昌市| 西昌市| 汝阳县| 凤台县| 翁牛特旗| 长治市| 丰台区| 惠水县| 封开县| 丰城市| 阿荣旗| 定西市| 连云港市| 望都县| 上犹县| 南和县| 丘北县| 固镇县| 昂仁县| 抚宁县| 嘉祥县| 新巴尔虎左旗| 盐亭县|