注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

山林客

简单不一定幸福,但幸福其实可以很简单。

 
 
 

日志

 
 
关于我

2004年毕业于中山大学,毕业后专注于网站开发和网络工程技术。先后取得SCWCD、CCNP认证,对Asp/Java有丰富的开发经验,对网络工程也有较深的研究。真诚欢迎大家多多指教、多多指点、多多指正,共同分享IT道路和人生道路上的喜怒哀乐。

网易考拉推荐

ZIP  

2006-10-14 10:42:09|  分类: Java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import java.util.zip.*;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
public class ZipTest {

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
ZipTestFrame frame=new ZipTestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

}

}
class ZipTestFrame extends JFrame{
private static final int DEFAULT_WIDTH=300;
private static final int DEFAULT_HEIGHT=200;
private JComboBox fileCombo;
private JTextArea fileText;
private String zipname;
public ZipTestFrame(){
setTitle("Zip Test");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
JMenuBar menuBar=new JMenuBar();
JMenu menu=new JMenu("File");
JMenuItem openItem=new JMenuItem("Open");
menu.add(openItem);
openItem.addActionListener(new OpenAction());
JMenuItem exitItem=new JMenuItem("Exit");
menu.add(exitItem);
exitItem.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent event)
{
System.exit(0);
}
}
);
menuBar.add(menu);
setJMenuBar(menuBar);
fileText=new JTextArea();
fileCombo=new JComboBox();
fileCombo.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
loadZipFile((String)fileCombo.getSelectedItem());
}
}
);
add(fileCombo,BorderLayout.SOUTH);
add(new JScrollPane(fileText),BorderLayout.CENTER);



}
private class OpenAction implements ActionListener{
public void actionPerformed(ActionEvent event){
JFileChooser chooser=new JFileChooser();
chooser.setCurrentDirectory(new File("."));
ExtensionFileFilter filter=new ExtensionFileFilter();
filter.addExtension(".zip");
filter.addExtension(".jar");
filter.setDescription("ZIP archives");
chooser.setFileFilter(filter);
int r=chooser.showOpenDialog(ZipTestFrame.this);
if(r==JFileChooser.APPROVE_OPTION)
{
zipname=chooser.getSelectedFile().getPath();
scanZipFile();
}

}
}
public void scanZipFile()
{
fileCombo.removeAllItems();
try
{
ZipInputStream zin=new ZipInputStream(new FileInputStream(zipname));
ZipEntry entry;
while((entry=zin.getNextEntry())!=null)
{
fileCombo.addItem(entry.getName());
zin.closeEntry();
}
zin.close();
}
catch(IOException e)
{
e.printStackTrace();
}
}
public void loadZipFile(String name)
{
try{
ZipInputStream zin=new ZipInputStream(new FileInputStream(zipname));
ZipEntry entry;
fileText.setText("");
while((entry=zin.getNextEntry())!=null)
{
if(entry.getName().equals(name))
{
BufferedReader in=new BufferedReader(new InputStreamReader(zin));
String line;
while((line=in.readLine())!=null)
{
fileText.append(line);
fileText.append("\n");
}
}
zin.closeEntry();


}
zin.close();
}
catch(IOException e){
e.printStackTrace();
}
}

}
clas* **tensionFileFilter extends FileFilter
{
private String description="";
private ArrayList<String> extensions =new ArrayList<String>();
public void addExtension(String extension){
if(!extension.startsWith("."))
extension="."+extension;
extensions.add(extension.toLowerCase());

}
public void setDescription(String aDescription)
{
description=aDescription;
}
public String getDescription()
{
return description;
}
public boolean accept(File f)
{
if(f.isDirectory())return true;
String name=f.getName().toLowerCase();
for(String e:extensions)
if(name.endsWith(e))
return true;
return false;
}
}
  评论这张
 
阅读(181)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018