显示指定类型的文件
2011-09-09 13:36 Rollen Holt 阅读(691) 评论(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
我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他
们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其
实我是一个程序员
==============================================================================
浙公网安备 33010602011771号