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("         "); //         
    fileChooser=new JFileChooser(); //      
    jtfTarget=new JTextField(13); 
    jbSelected=new JButton("  "); 
    jbExtract=new JButton("  "); 
    files=new JList(); 
    JPanel panel=new JPanel(); //      
    panel.add(new JLabel("    ")); 
    panel.add(jtfTarget); //         
    panel.add(jbSelected); 
    panel.add(jbExtract); 
    JScrollPane jsp=new JScrollPane(files); 
    jsp.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); //     
    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){ //       ,             
          String fileName=fileChooser.getSelectedFile().getAbsolutePath();  //            
          jtfTarget.setText(fileName); //        
          showFiles(); //        
      } 
      } 
    }); 
    jbExtract.addActionListener(new ActionListener(){  //           
      public void actionPerformed(ActionEvent event) {  
          extractFile(files.getSelectedValue().toString()); //       
      } 
    }); 
    setSize(350,250);  //       
    setVisible(true);  //       
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //          
  } 
  public void showFiles(){ 
    try{ 
    zFile=new ZipFile(jtfTarget.getText()); //         
    ZipEntry entry; 
    Vector vec=new Vector(); //     
      Enumeration enu=zFile.entries(); //            
      while (enu.hasMoreElements()){ //       
        entry=(ZipEntry) enu.nextElement(); //       
        vec.add(entry.getName());  //     Vector     
      } 
      files.setListData(vec); //          
      files.getSelectedValues(); 
    } 
    catch (Exception ex){ 
      ex.printStackTrace(); //       
    }     
  } 
  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); //        
    FileOutputStream out=new FileOutputStream(file); //        
    byte[] buffer=new byte[1024]; //      
    int length; 
    while((length = in.read(buffer)) != -1) { //       
      out.write(buffer, 0, length); //        
    } 
      JOptionPane.showMessageDialog(ZipExtractDemo.this,"    ,   :"+file.getAbsolutePath());  
    in.close(); //      
    out.close(); //        
    } catch (Exception ex){} 
  } 
  public static void main(String[] args){ 
    new ZipExtractDemo(); 
  } 
} 
締め括りをつける
以上は小编が绍介したJava圧縮/解凍ファイルの実现コードです。皆さんに助けてほしいです。もし何か疑问がありましたら、メッセージをください。小编はすぐに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。