显示指定类型的文件
2011-09-09 13:36 Rollen Holt 阅读(674) 评论(0) 编辑 收藏 举报运行结果:
package File; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.FileFilter; import java.util.Date; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.JTextField; public class ListCustomTypeFile extends JFrame implements ActionListener{ JPanel panel = new JPanel(); JButton chooseButton = new JButton("选择文件夹"); JLabel pathLabel = new JLabel(); JLabel textLabel = new JLabel("请输入指定的文件扩展名"); JTextField textField = new JTextField(20); JTextArea area = new JTextArea(5, 30); File dir = null; ListCustomTypeFile(){ panel.setLayout(new FlowLayout()); panel.add(chooseButton); panel.add(pathLabel); panel.add(textLabel); panel.add(textField); panel.add(area); setContentPane(panel); chooseButton.addActionListener(this); setSize(400, 400); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } @Override public void actionPerformed(ActionEvent e){ JFileChooser chooser = new JFileChooser(); chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); chooser.showDialog(this, null); dir = chooser.getSelectedFile(); pathLabel.setText(dir.toString()); listFiles(); } public void listFiles(){ if(dir == null){ return; } // 获取符合条件的文件数组 File[] files = dir.listFiles(new CustomFilter()); String str = "文件名" + "\t\t" + "文件大小" + "\t\t" + "最后修改日期\n"; area.setText(str); for(File temp : files){ str += temp.getName() + "\t\t" + temp.length() + "\t\t" + new Date(temp.lastModified()) + "\n"; area.setText(str); } } public final class CustomFilter implements FileFilter{ @Override public boolean accept(File pathname){ // 获取用户设定的指定扩展名 String name = textField.getText(); if(name == null || name.isEmpty()){ return false; } if(!name.startsWith(".")){ name = "." + name; } name = name.toLowerCase(); if(pathname.getName().toLowerCase().endsWith(name)){ return true; }else{ return false; } } }// end inner class public static void main(String[] args){ new ListCustomTypeFile(); } }
==============================================================================
本博客已经废弃,不在维护。新博客地址:http://wenchao.ren
我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他
们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其
实我是一个程序员
==============================================================================
![](http://service.t.sina.com.cn/widget/qmd/1882500857/8c17d4b5/1.png)