⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myzipframe.java~1~

📁 用Java开发的压缩解压缩小工具
💻 JAVA~1~
字号:
package myzip;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;import java.util.zip.*;import javax.swing.border.*;/** * <p>Title: zip</p> * <p>Description: zip files</p> * <p>Copyright: Copyright (c) 2005</p> * <p>Company: qlsc</p> * @author Wang Tao * @version 1.0 */public class MyZipFrame extends JFrame {  JPanel contentPane;  JMenuBar jMenuBar1 = new JMenuBar();  JMenu jMenuFile = new JMenu();  JMenuItem jMenuFileExit = new JMenuItem();  JMenu jMenuHelp = new JMenu();  JMenuItem jMenuHelpAbout = new JMenuItem();  BorderLayout borderLayout1 = new BorderLayout();  JMenuItem jMenuItemOpenSource = new JMenuItem();  JMenuItem jMenuItemOpenZip = new JMenuItem();  JPanel buttonPanel = new JPanel();  FlowLayout flowLayout1 = new FlowLayout();  JButton zipButton = new JButton();  JButton unzipButton = new JButton();  JPanel listPanel = new JPanel();  JPanel barPanel = new JPanel();  JButton openButton = new JButton();  TitledBorder titledBorder1;  JLabel messageLabel = new JLabel();  JProgressBar ProgressBar = new JProgressBar();  ImageIcon zip=new ImageIcon("zip.jpg"),           unzip=new ImageIcon("unzip.jpg");  String currentDirectory;  //Construct the frame  public MyZipFrame() {    enableEvents(AWTEvent.WINDOW_EVENT_MASK);    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  //Component initialization  private void jbInit() throws Exception  {    contentPane = (JPanel) this.getContentPane();    titledBorder1 = new TitledBorder("");    contentPane.setLayout(borderLayout1);    this.setSize(new Dimension(400, 300));    this.setTitle("Java Zip");    jMenuFile.setText("File");    jMenuFileExit.setText("Exit");    jMenuFileExit.addActionListener(new MyZipFrame_jMenuFileExit_ActionAdapter(this));    jMenuHelp.setText("Help");    jMenuHelpAbout.setText("About");    jMenuHelpAbout.addActionListener(new MyZipFrame_jMenuHelpAbout_ActionAdapter(this));    jMenuItemOpenSource.setText("open source");    jMenuItemOpenSource.addActionListener(new MyZipFrame_jMenuItemOpenSource_actionAdapter(this));    jMenuItemOpenZip.setText("open zip");    jMenuItemOpenZip.addActionListener(new MyZipFrame_jMenuItemOpenZip_actionAdapter(this));   // buttonPanel.setAlignmentX((float) 0.0);   // buttonPanel.setAlignmentY((float) 0.0);    buttonPanel.setBorder(BorderFactory.createRaisedBevelBorder());    buttonPanel.setToolTipText("操作板");    buttonPanel.setLayout(flowLayout1);    zipButton.setMaximumSize(new Dimension(57, 57));    zipButton.setMinimumSize(new Dimension(35, 9));    zipButton.setToolTipText("添加压缩文件");    zipButton.setIcon(zip);    zipButton.setText("");    unzipButton.setMaximumSize(new Dimension(57, 57));    unzipButton.setToolTipText("释放压缩文件");    unzipButton.setIcon(unzip);    unzipButton.setText("");    openButton.setBorder(null);    openButton.setToolTipText("打开文件或目录");    openButton.setText("jButton1");    messageLabel.setText("欢迎使用myZip       进度:");//考虑加入文件信息    buttonPanel.add(openButton, null);    buttonPanel.add(unzipButton, null);    jMenuFile.add(jMenuItemOpenSource);    jMenuFile.add(jMenuItemOpenZip);    jMenuFile.add(jMenuFileExit);    jMenuHelp.add(jMenuHelpAbout);    jMenuBar1.add(jMenuFile);    jMenuBar1.add(jMenuHelp);    this.setJMenuBar(jMenuBar1);    contentPane.add(buttonPanel, BorderLayout.NORTH);    buttonPanel.add(zipButton, null);    contentPane.add(listPanel,  BorderLayout.CENTER);    contentPane.add(barPanel,  BorderLayout.SOUTH);    barPanel.add(messageLabel, null);    barPanel.add(ProgressBar, null);  }  //File | Exit action performed  public void jMenuFileExit_actionPerformed(ActionEvent e) {    System.exit(0);  }  //Help | About action performed  public void jMenuHelpAbout_actionPerformed(ActionEvent e) {    MyZipFrame_AboutBox dlg = new MyZipFrame_AboutBox(this);    Dimension dlgSize = dlg.getPreferredSize();    Dimension frmSize = getSize();    Point loc = getLocation();    dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);    dlg.setModal(true);    dlg.pack();    dlg.show();  }  //Overridden so we can exit when window is closed  protected void processWindowEvent(WindowEvent e) {    super.processWindowEvent(e);    if (e.getID() == WindowEvent.WINDOW_CLOSING) {      jMenuFileExit_actionPerformed(null);    }  }  /** *<br>方法说明:实现文件的压缩处理 *<br>输入参数:String[] fs 压缩的文件数组 *<br>返回类型: */  public void ZipFiles(String[] fs){   try{     String fileName = fs[0];     FileOutputStream f =       new FileOutputStream(fileName+".zip");     //使用输出流检查     CheckedOutputStream cs =        new CheckedOutputStream(f,new Adler32());      //声明输出zip流      ZipOutputStream out =        new ZipOutputStream(new BufferedOutputStream(cs));      //写一个注释      out.setComment("A test of Java Zipping");      //对多文件进行压缩      for(int i=1;i<fs.length;i++){        System.out.println("Write file "+fs[i]);        BufferedReader in =           new BufferedReader(             new FileReader(fs[i]));         out.putNextEntry(new ZipEntry(fs[i]));         int c;         while((c=in.read())!=-1)          out.write(c);        in.close();       }       //关闭输出流       out.close();       System.out.println("Checksum::"+cs.getChecksum().getValue());    }catch(Exception e){       System.err.println(e);    }  }/** *<br>方法说明:解压缩Zip文件 *<br>输入参数:String fileName 解压zip文件名 *<br>返回类型: */  public void unZipFile(String fileName){    try{       System.out.println("读取ZIP文件........");       //文件输入流       FileInputStream fi =         new FileInputStream(fileName+".zip");       //输入流检查       CheckedInputStream csi = new CheckedInputStream(fi,new Adler32());       //输入流压缩       ZipInputStream in2 =         new ZipInputStream(           new BufferedInputStream(csi));       ZipEntry ze;       System.out.println("Checksum::"+csi.getChecksum().getValue());       //解压全部文件       while((ze = in2.getNextEntry())!=null){         System.out.println("Reading file "+ze);         int x;         while((x= in2.read())!=-1)           //这里是写文件,write是以byte方式输出。           System.out.write(x);       }       in2.close();    }catch(Exception e){      System.err.println(e);    }  } /** *<br>方法说明:读取Zip文件列表 *<br>输入参数:String fileName zip文件名 *<br>返回类型:Vector 文件列表 */  public Vector listFile(String fileName){    try{       String[] aRst=null;       Vector vTemp = new Vector();       //zip文件对象       ZipFile zf = new ZipFile(fileName+".zip");       Enumeration e = zf.entries();       while(e.hasMoreElements()){         ZipEntry ze2 = (ZipEntry)e.nextElement();         System.out.println("File: "+ze2);         vTemp.addElement(ze2);       }       return  vTemp;    }catch(Exception e){      System.err.println(e);      return null;    }  }  void jMenuItemOpenSource_actionPerformed(ActionEvent e) {    FileDialog fd = new FileDialog (this, "打开媒体文件",  FileDialog.LOAD);     fd.setDirectory (currentDirectory);     fd.show ();     //如果用户放弃选择文件,则返回     if (fd.getFile () == null)     {       return;     }     currentDirectory = fd.getDirectory ();     String url=fd.getDirectory() +fd.getFile() ;     /////////////////进行压缩文件(url),先判断扩展名  }  void jMenuItemOpenZip_actionPerformed(ActionEvent e) {    FileDialog fd = new FileDialog (this, "打开媒体文件",  FileDialog.LOAD);     fd.setDirectory (currentDirectory);     fd.show ();     //如果用户放弃选择文件,则返回     if (fd.getFile () == null)     {       return;     }     currentDirectory = fd.getDirectory ();     String url=fd.getDirectory() +fd.getFile() ;     ///////进行解压文件(url),先判断扩展名  }}class MyZipFrame_jMenuFileExit_ActionAdapter implements ActionListener {  MyZipFrame adaptee;  MyZipFrame_jMenuFileExit_ActionAdapter(MyZipFrame adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jMenuFileExit_actionPerformed(e);  }}class MyZipFrame_jMenuHelpAbout_ActionAdapter implements ActionListener {  MyZipFrame adaptee;  MyZipFrame_jMenuHelpAbout_ActionAdapter(MyZipFrame adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jMenuHelpAbout_actionPerformed(e);  }}class MyZipFrame_jMenuItemOpenSource_actionAdapter implements java.awt.event.ActionListener {  MyZipFrame adaptee;  MyZipFrame_jMenuItemOpenSource_actionAdapter(MyZipFrame adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jMenuItemOpenSource_actionPerformed(e);  }}class MyZipFrame_jMenuItemOpenZip_actionAdapter implements java.awt.event.ActionListener {  MyZipFrame adaptee;  MyZipFrame_jMenuItemOpenZip_actionAdapter(MyZipFrame adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jMenuItemOpenZip_actionPerformed(e);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -