📄 myzipframe.java~191~
字号:
if(stop)
{
dest.close();
is.close();
progressBar.setValue(mount);
textArea.append("--------------------------"+"\n"
+"解压缩已取消!"+"\n");
return;
}
System.out.println("mount::::::::::: "+mount);
if(mount>=5&&mount%5==0)
{
progressBar.setValue(mount);
}
dest.write(data, 0, count);
}
dest.flush();
dest.close();
is.close();
}
} catch (Exception e)
{
e.printStackTrace();
} finally
{
try
{
if (dest != null)
{
dest.flush();
dest.close();
}
if (is != null)
{
is.close();
}
if(!stop)
textArea.append("-------------------------"+"\n"
+"解压完毕!"+"\n") ;
} catch (Exception e)
{
e.printStackTrace();
}
}
}
}
String choosenDir()
{
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();
if(r==JFileChooser.APPROVE_OPTION)
{
return chooser.getSelectedFile().toString();
}
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();
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() ;selectedFile=files[0].getName();
for (int i = 0; i < files.length; i++)
{
names[i+1]=files[i].toString();
//textArea.append("\n"+files[i].toString());
System.out.println("fff "+files[i].toString() );
}
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();
if(r==JFileChooser.APPROVE_OPTION)
{
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];
}
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) {
progressBar.setValue(0) ;
String[] files = new String[100];
isCompress=true;
dirZip=false;
cancel=false;
isDecompress=false;
files=openFileDialog();
if(files!=null)
{
openFile_files=files;
textArea.setText("----------信息列表----------"+"\n"+
"将要压缩文件: "+"\n"
+selectedFile+"等"+"\n"
+"--------------------------"+"\n"
+"请选择压缩路径"+"\n"
);
choosen=choosenDir();System.out.println("FFFFFFFFFFFF: "+choosen+"\\"+openFile_files[0].substring(openFile_files[0].lastIndexOf("\\")+1)+".zip");
checkExist(choosen+"\\"+openFile_files[0].substring(openFile_files[0].lastIndexOf("\\")+1)+".zip");
if(cancel)
{
isCompress=false;
dirZip=false;
}
else if(!cancel&&choosen!=null)
textArea.append("压缩到:"+"\n"
+choosen+"\n"
+"---------------------------"+"\n"
+"单击\"开始\"按钮开始压缩"+"\n"
+"---------------------------"+"\n") ;
}
if(files==null||cancel ||choosen==null)
textArea.setText("你取消了压缩选项!"+"\n") ;
}
String nameList()
{
int i=1;String list="";
while(openFile_files[i]!=null)
{
list=list+openFile_files[i]+"/n";
}
return list;
}
void checkExist(String targetFilePathName)
{
File targetFile=new File(targetFilePathName);
System.out.println("CCCCCCC: "+targetFilePathName);
//检查目标文件名,防止被覆盖
if(targetFile.exists())
{
int option=JOptionPane.showConfirmDialog(null,
"目标文件已存在,是否覆盖目标文件?");
switch(option)
{
case JOptionPane.YES_OPTION:
break;
case JOptionPane.NO_OPTION:
/*while(targetFile.exists())
{
targetFile=new File(targetFile.getParent()+
"\\"+"(new)"+targetFile.getName());
}
JOptionPane.showMessageDialog(null,
"目标文件重命名为: "+targetFile.getAbsolutePath());*/
cancel=true;
break;
case JOptionPane.CANCEL_OPTION:
cancel=true;
return;
default:
return;
}
}
}
void jMenuFileOpenZip_actionPerformed(ActionEvent e) {
progressBar.setValue(0) ;
String[] files = new String[100];
cancel=false;
isDecompress=true;
isCompress=false;
files=openFileDialog();
if(files!=null)
{
firstFile=files[0];
textArea.setText("----------信息列表----------"+"\n"+
"将要解压缩文件: "+"\n"
+selectedFile+"\n"
+"--------------------------"+"\n"
+"请选择解压路径"+"\n"
);
choosen=choosenDir();
checkExist(choosen+"\\"+selectedFile.substring(0,selectedFile.length()-4));
if(cancel)
isDecompress=false;
else if(!cancel&&choosen!=null)
textArea.append("解压缩到:"+"\n"
+choosen+"\n"
+"---------------------------"+"\n"
+"单击\"开始\"按钮开始解压缩"+"\n"
+"---------------------------"+"\n") ;
}
if(files==null||cancel||choosen==null)
textArea.setText("你取消了解压选项!"+"\n") ;
}
void unzipButton_actionPerformed(ActionEvent e) {
jMenuFileOpenFile_actionPerformed(e);
}
void zipButton_actionPerformed(ActionEvent e) {
jMenuFileOpenDir_actionPerformed( e);
}
void startButton_actionPerformed(ActionEvent e) {
Zip zip=new Zip();
stop=false;
thread = new Thread(zip);
thread.start();
}
void stopButton_actionPerformed(ActionEvent e) {
stop=true;
}
void jMenuFileOpenDir_actionPerformed(ActionEvent e)
{
progressBar.setValue(0) ;
String[] files = new String[100];
dirZip=true;
isCompress=true;
cancel=false;
isDecompress=false;
files=openDirDialog();
if(files!=null)
{
openDir_files=files;
textArea.setText("----------信息列表----------"+"\n"+
"将要压缩目录: "+"\n"
+selectedFile+"\n"
+"--------------------------"+"\n"
+"请选择压缩路径"+"\n"
);
choosen=choosenDir();System.out.println("DDDDDDDDDDDDD: "+choosen+"\\"+openDir_files[0].substring(openDir_files[0].lastIndexOf("\\")+1)+".zip");
checkExist(choosen+"\\"+openDir_files[0].substring(openDir_files[0].lastIndexOf("\\")+1)+".zip");
if(cancel)
{
isCompress=false;
dirZip=false;
}
else if(!cancel&&choosen!=null)
textArea.append("压缩到:"+"\n"
+choosen+"\n"
+"---------------------------"+"\n"
+"单击\"开始\"按钮开始压缩"+"\n"
+"---------------------------"+"\n") ;
}
if(files==null||cancel||choosen==null)
textArea.setText("你取消了压缩选项!"+"\n") ;
}
}
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_startButton_actionAdapter implements java.awt.event.ActionListener {
MyZipFrame adaptee;
MyZipFrame_startButton_actionAdapter(MyZipFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.startButton_actionPerformed(e);
}
}
class MyZipFrame_stopButton_actionAdapter implements java.awt.event.ActionListener {
MyZipFrame adaptee;
MyZipFrame_stopButton_actionAdapter(MyZipFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.stopButton_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 + -