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

📄 compressframe.java

📁 文件压缩功能:压缩指定单个文件
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    chooser.setMultiSelectionEnabled(false);
    chooser.showOpenDialog(this);
    if (chooser.getSelectedFile() == null) {
      return;
    }
    currentDirectory = chooser.getSelectedFile().getPath();
    initializeFileList();
    tableModel.fireTableDataChanged();
  }
  void jButton1_actionPerformed(ActionEvent e) {
  this.changeDirectory();
  }

  void jMenuItemCD_actionPerformed(ActionEvent e) {
  this.changeDirectory();
  }
  private void renameFile(){
   int rowsSelected[]=fileTable.getSelectedRows();
   if(rowsSelected==null||rowsSelected.length==0){
     return;//未选择文件,返回
   }
   else if(rowsSelected.length>1){
     JOptionPane.showMessageDialog(this,"只能选择一个文件","重命名文件出错",JOptionPane.INFORMATION_MESSAGE);
   }
   File temp=(File)fileList.get(rowsSelected[0]);
   String oldName=temp.getName();
   String extension="";
   String hintMessage="请输入新文件名:";
   if(temp.isFile()){
     extension=oldName.substring(oldName.lastIndexOf("."));
     hintMessage=hintMessage+"("+extension+")";
   }
   String newName=JOptionPane.showInputDialog(this,hintMessage,oldName);
   if(newName==null){//用户没有输入
     return;
   }
   newName=currentDirectory+"\\"+newName;
   if(!(extension.length()>1&&newName.endsWith(extension))){//需要的扩展名用户没有输入
     newName+=extension;//添加扩展名
   }
   if(!temp.renameTo(new File(newName))){//无法重新命名文件
     JOptionPane.showMessageDialog(this,
                                   "无法重新命名文件:\n" + temp.getAbsolutePath() +
                                   "\n请确认文件未被使用",
                                   "重命名文件出错", JOptionPane.ERROR_MESSAGE);
     return;
   }
   initializeFileList();
   tableModel.fireTableDataChanged();
  }
  void jMenuItemRename_actionPerformed(ActionEvent e) {
   this.renameFile();
  }

  void jButton3_actionPerformed(ActionEvent e) {
    this.renameFile();
  }

  void jButton8_actionPerformed(ActionEvent e) {
    CompressFrame_AboutBox dlg = new CompressFrame_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();
  }
  private void zipFiles(){
    if(this.fileTable.getSelectedRowCount()==0){
          return;
        }
        CompressDialog cDialog=new CompressDialog(this,"压缩文件",true);
        cDialog.setSize(345,390);
        cDialog.setLocation((1024-320)/2,(768-220)/2);
        cDialog.show();
  }
  void jButton5_actionPerformed(ActionEvent e) {
     this.zipFiles();
  }

  void jMenuItemCompress_actionPerformed(ActionEvent e) {
   this.zipFiles();
  }
  private void extract(){
    if(this.fileTable.getSelectedRowCount()==0){
      return;
    }
    if (this.fileTable.getSelectedRowCount() > 1) {
      JOptionPane.showMessageDialog(this, "一次只能选择一个文件解压。", "提示",
                                    JOptionPane.INFORMATION_MESSAGE);
      return;
    }
    File fileSelected=(File)fileList.get(fileTable.getSelectedRow());
    if(!fileSelected.getName().endsWith(".zip")){
      JOptionPane.showMessageDialog(this, "请选择zip格式文件", "提示",
                                    JOptionPane.INFORMATION_MESSAGE);
     return;
    }
    ExtractDialog extract=new ExtractDialog(this,"解压缩文件",true);
    extract.setSize(280,400);
    extract.setLocation((1024-275)/2,(768-400)/2);
    extract.show();
  }
  File getZipFile(){
    File fileSelected=(File)fileList.get(fileTable.getSelectedRow());
    return fileSelected;
 }
  void jButton6_actionPerformed(ActionEvent e) {
    this.extract();
  }

  void jMenuItemExtract_actionPerformed(ActionEvent e) {
   this.extract();
  }

  private void infor(){
    if(this.fileTable.getSelectedRowCount()==0){
      return;
    }
    if (this.fileTable.getSelectedRowCount() > 1) {
      JOptionPane.showMessageDialog(this, "一次只能选择一个文件解压。", "提示",
                                    JOptionPane.INFORMATION_MESSAGE);
      return;
    }
    File fileSelected=(File)fileList.get(fileTable.getSelectedRow());
    if(!fileSelected.getName().endsWith(".zip")){
      JOptionPane.showMessageDialog(this, "请选择zip格式文件", "提示",
                                    JOptionPane.INFORMATION_MESSAGE);
     return;
    }
    double ratio=0;
    try {
      ZipFile zf = new ZipFile(fileSelected);
      long zsize=fileSelected.length();
      long org_size=0;
      ZipInputStream zin=new ZipInputStream(new FileInputStream(fileSelected));
      int amount;
      int million=1024*1024;
      byte[] b=new byte[million];
      ZipEntry entry;
      while((entry=zin.getNextEntry())!=null){
        amount = zin.read(b);
        while (amount != -1) {
          org_size += amount;
          amount=zin.read(b);
        }
      }
      zin.close();
      fileSelected=null;
      ratio=(org_size+0.0)/(zsize+0.0);
      String s_ratio=ratio+"";
      s_ratio+="000";
      s_ratio=s_ratio.substring(0,s_ratio.indexOf(".")+3);
      JOptionPane.showMessageDialog(this, "压缩比:"+s_ratio+":1", "压缩信息",
                                   JOptionPane.INFORMATION_MESSAGE);
   }
    catch (IOException ex) {
      JOptionPane.showMessageDialog(this, "文件无法读取", "错误",
                                    JOptionPane.ERROR_MESSAGE);
      ex.printStackTrace();
    }
  }
  void jButton7_actionPerformed(ActionEvent e) {
      this.infor();
  }

  void jButton9_actionPerformed(ActionEvent e) {
   this.initializeFileList();
   this.tableModel.fireTableDataChanged();
  }

  void jMenuItemInfor_actionPerformed(ActionEvent e) {
   this.infor();
  }
}

class ComptessFrame_jMenuFileExit_ActionAdapter
    implements ActionListener {
  CompressFrame adaptee;

  ComptessFrame_jMenuFileExit_ActionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuFileExit_actionPerformed(e);
  }
}

class ComptessFrame_jMenuHelpAbout_ActionAdapter
    implements ActionListener {
  CompressFrame adaptee;

  ComptessFrame_jMenuHelpAbout_ActionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuHelpAbout_actionPerformed(e);
  }
}

class ComptessFrame_jButton4_actionAdapter
    implements java.awt.event.ActionListener {
  CompressFrame adaptee;

  ComptessFrame_jButton4_actionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jButton4_actionPerformed(e);
  }
}

class ComptessFrame_fileTable_mouseAdapter
    extends java.awt.event.MouseAdapter {
  CompressFrame adaptee;

  ComptessFrame_fileTable_mouseAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e) {
    adaptee.fileTable_mouseClicked(e);
  }
}

class ComptessFrame_jButton2_actionAdapter
    implements java.awt.event.ActionListener {
  CompressFrame adaptee;

  ComptessFrame_jButton2_actionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jButton2_actionPerformed(e);
  }
}

class ComptessFrame_jMenuItemDelete_actionAdapter implements java.awt.event.ActionListener {
  CompressFrame adaptee;

  ComptessFrame_jMenuItemDelete_actionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuItemDelete_actionPerformed(e);
  }
}

class ComptessFrame_jButton1_actionAdapter implements java.awt.event.ActionListener {
  CompressFrame adaptee;

  ComptessFrame_jButton1_actionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton1_actionPerformed(e);
  }
}

class ComptessFrame_jMenuItemCD_actionAdapter implements java.awt.event.ActionListener {
  CompressFrame adaptee;

  ComptessFrame_jMenuItemCD_actionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuItemCD_actionPerformed(e);
  }
}

class ComptessFrame_jMenuItemRename_actionAdapter implements java.awt.event.ActionListener {
  CompressFrame adaptee;

  ComptessFrame_jMenuItemRename_actionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuItemRename_actionPerformed(e);
  }
}

class ComptessFrame_jButton3_actionAdapter implements java.awt.event.ActionListener {
  CompressFrame adaptee;

  ComptessFrame_jButton3_actionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton3_actionPerformed(e);
  }
}

class ComptessFrame_jButton8_actionAdapter implements java.awt.event.ActionListener {
  CompressFrame adaptee;

  ComptessFrame_jButton8_actionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton8_actionPerformed(e);
  }
}

class ComptessFrame_jButton5_actionAdapter implements java.awt.event.ActionListener {
  CompressFrame adaptee;

  ComptessFrame_jButton5_actionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton5_actionPerformed(e);
  }
}

class CompressFrame_jMenuItemCompress_actionAdapter implements java.awt.event.ActionListener {
  CompressFrame adaptee;

  CompressFrame_jMenuItemCompress_actionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuItemCompress_actionPerformed(e);
  }
}

class CompressFrame_jButton6_actionAdapter implements java.awt.event.ActionListener {
  CompressFrame adaptee;

  CompressFrame_jButton6_actionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton6_actionPerformed(e);
  }
}

class CompressFrame_jMenuItemExtract_actionAdapter implements java.awt.event.ActionListener {
  CompressFrame adaptee;

  CompressFrame_jMenuItemExtract_actionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuItemExtract_actionPerformed(e);
  }
}

class CompressFrame_jButton7_actionAdapter implements java.awt.event.ActionListener {
  CompressFrame adaptee;

  CompressFrame_jButton7_actionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton7_actionPerformed(e);
  }
}

class CompressFrame_jButton9_actionAdapter implements java.awt.event.ActionListener {
  CompressFrame adaptee;

  CompressFrame_jButton9_actionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton9_actionPerformed(e);
  }
}

class CompressFrame_jMenuItemInfor_actionAdapter implements java.awt.event.ActionListener {
  CompressFrame adaptee;

  CompressFrame_jMenuItemInfor_actionAdapter(CompressFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuItemInfor_actionPerformed(e);
  }
}

⌨️ 快捷键说明

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