使用javax.swing.filechooser.FileFilter
class DemoFilter extends javax.swing.filechooser.FileFilter{
public boolean accept(File f){
boolean accept = f.isDirectory();
if(!accept){
String suffix = getSuffix(f);
if(suffix!=null)
accept = suffix.equals("txt");//只打开txt文件
}
return accept;
}
public String getDescription(){
return "文本文件 (*.txt)";
}
private String getSuffix(File f){
String s = f.getPath(),suffix = null;
int i = s.lastIndexOf('.');
if(i>0&&i<s.length() -1)
suffix = s.substring(i+1).toLowerCase();
return suffix;
}
}
}
使用:
JFileChooser chooser = new JFileChooser();
chooser.addChoosableFileFilter(new DemoFilter());
int state = chooser.showOpenDialog(null);
...
class DemoFilter extends javax.swing.filechooser.FileFilter{
public boolean accept(File f){
boolean accept = f.isDirectory();
if(!accept){
String suffix = getSuffix(f);
if(suffix!=null)
accept = suffix.equals("txt");//只打开txt文件
}
return accept;
}
public String getDescription(){
return "文本文件 (*.txt)";
}
private String getSuffix(File f){
String s = f.getPath(),suffix = null;
int i = s.lastIndexOf('.');
if(i>0&&i<s.length() -1)
suffix = s.substring(i+1).toLowerCase();
return suffix;
}
}
}
使用:
JFileChooser chooser = new JFileChooser();
chooser.addChoosableFileFilter(new DemoFilter());
int state = chooser.showOpenDialog(null);
...
全部文件(*.*)
全部文件(*.*)
这句关键,其余的与他一样
将*.*移掉就行