我想用JFileChooser显示给定文件夹中所有文件的列表,但只显示以某个字符串开头的文件,而不管它们的结尾扩展名。这是因为我有一个文件夹,文件的名称与3-4个不同的扩展名相同,例如ie:<<“customers.xls,customers.doc,customers.pdf,sales.xls,sales.txt, sales.doc ...>> 程序将从输入/用户获取某个文件名,我希望显示与给定名称匹配的所有文件。 至于我现在直到管理,是找到如何仅对扩展进行过滤,这不能管理我需要的...任何暗示? 谢谢!
答案 0 :(得分:0)
为它创建一个自定义FileFilter:
JFileChooser jfc = ...;
String filePrefix = "customers";
FileFilter ff = new FileFilter() {
public boolean accept(File f) {
return f.getName().startsWith(filePrefix);
}
public String getDescription(){
return "Custom Files";
}
}
jfc.setFileFilter(ff);
答案 1 :(得分:0)
使用FileFilter:
定义:
class MyFilter implements FileFilter {
String prefix;
void setPrefix(String prefix) {
this.prefix = prefix
}
public String getDescription() {
return "MyFiles";
}
public boolean accept(File f) {
if (f.isDirectory()) {
return true;
} else {
return f.getName().startsWith(prefix);
}
}
}
用法:
MyFilter myFilter = new MyFilter();
myFilter.setPrefix("customer");
JFileChooser fileChooser = new JFileChooser();
fileChooser.addChoosableFileFilter(myFilter);