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

📄 myzipframe.java~10~

📁 用Java开发的压缩解压缩小工具
💻 JAVA~10~
📖 第 1 页 / 共 2 页
字号:
    }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;
    }
  }
   String[] openFileDialog(){
    JFileChooser chooser = new JFileChooser();
      chooser.setCurrentDirectory(new File(".") );

      chooser.setMultiSelectionEnabled(true) ;
      chooser.setFileSelectionMode(chooser.FILES_ONLY);
      int r =chooser.showOpenDialog(MyZipFrame.this) ;

      currentDirectory = chooser.getCurrentDirectory().toString();
      selectedFile=chooser.getSelectedFiles().toString() .toString();
      System.out.println("SSSS "+selectedFile);
     if(r==JFileChooser.APPROVE_OPTION)
    {
      File[] files = chooser.getSelectedFiles();System.out.println(files.length );
      String[] names = new String[files.length+1];
      names[0]=files[0].toString() ;
      for (int i = 0; i < files.length; i++)
      {
        names[i+1]=files[i].toString();System.out.println("f  "+files[i]);
      }
      for (int j = 0; j < names.length; j++)
      {
        System.out.println("nnn"+names[j]);
      }

      return names;
    }
    return null;
  }
  String[] openDirDialog()
  {
    int numOfFiles=0;
    JFileChooser chooser = new JFileChooser();
    chooser.setCurrentDirectory(new File(".") );
    //chooser.setMultiSelectionEnabled(true) ;
    chooser.setFileSelectionMode(chooser.DIRECTORIES_ONLY);
    int r =chooser.showOpenDialog(MyZipFrame.this) ;

    currentDirectory = chooser.getCurrentDirectory().toString();
    selectedFile=chooser.getSelectedFile() .toString();
    dirListing(new File(selectedFile),numOfFiles);

    String[] names=new String[record.length +1];
    names[0]=selectedFile;
    for(int i=1;i<record.length +1;i++)
    {
      names[i]=record[i-1];
    }

    if(r==JFileChooser.APPROVE_OPTION)
    {

      return names;
    }
    return null;
  }
  void dirListing(File dir,int numOfFiles)
  {

    String[] fileList=dir.list();
    String dirPath=dir.getAbsolutePath();
    for(int i=0;i<fileList.length ;i++)
    {
      File file=new File(dirPath+"\\"+fileList[i]);
      if (file.isFile())
      {
        record[numOfFiles]=file.getAbsolutePath();
        numOfFiles++;
      }
      else
        dirListing(file,numOfFiles);

    }

  }

  void jMenuFileOpenFile_actionPerformed(ActionEvent e) {
    files=openFileDialog();
     /////////////////进行压缩文件(url),先判断扩展名
     //System.out.println(url);
     //压缩
     //zipFiles(files);
     if(files!=null)
     {
       //zipFiles(files);
     }

   }

  void jMenuFileOpenZip_actionPerformed(ActionEvent e) {
    files=openFileDialog();
     ///////进行解压文件(url),先判断扩展名
     //解压
   }

  void unzipButton_actionPerformed(ActionEvent e) {
    files=openFileDialog();

  }

  void zipButton_actionPerformed(ActionEvent e) {
    jMenuFileOpenDir_actionPerformed( e);
  }

  void openButton_actionPerformed(ActionEvent e) {
    //openDialog(openFileDialog());
    //解压

  }


  void jMenuFileOpenDir_actionPerformed(ActionEvent e)
  {
    files=openDirDialog();
    if(files!=null)
    {
      zipFiles(files);
    }
  }


}




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_jMenuFileOpenFile_actionAdapter implements java.awt.event.ActionListener {
  MyZipFrame adaptee;

  MyZipFrame_jMenuFileOpenFile_actionAdapter(MyZipFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuFileOpenFile_actionPerformed(e);
  }
}

class MyZipFrame_jMenuFileOpenZip_actionAdapter implements java.awt.event.ActionListener {
  MyZipFrame adaptee;

  MyZipFrame_jMenuFileOpenZip_actionAdapter(MyZipFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuFileOpenZip_actionPerformed(e);
  }
}

class MyZipFrame_unzipButton_actionAdapter implements java.awt.event.ActionListener {
  MyZipFrame adaptee;

  MyZipFrame_unzipButton_actionAdapter(MyZipFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.unzipButton_actionPerformed(e);
  }
}

class MyZipFrame_zipButton_actionAdapter implements java.awt.event.ActionListener {
  MyZipFrame adaptee;

  MyZipFrame_zipButton_actionAdapter(MyZipFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.zipButton_actionPerformed(e);
  }
}

class MyZipFrame_openButton_actionAdapter implements java.awt.event.ActionListener {
  MyZipFrame adaptee;

  MyZipFrame_openButton_actionAdapter(MyZipFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.openButton_actionPerformed(e);
  }
}

class MyZipFrame_jMenuFileOpenDir_actionAdapter implements java.awt.event.ActionListener {
  MyZipFrame adaptee;

  MyZipFrame_jMenuFileOpenDir_actionAdapter(MyZipFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuFileOpenDir_actionPerformed(e);
  }
}

⌨️ 快捷键说明

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