我想用JFileChooser显示给定文件夹中所有文件的列表,但只显示那些以特定字符串开头的文件,而与它们的结尾扩展名无关。这是因为我有一个文件夹,里面的文件有3-4个不同的扩展名,比如:<<"customers.xls,customers.doc,customers.pdf,sales.xls,sales.txt,sales.doc...>>程序将从输入/用户那里得到一个特定的文件名,我想要显示所有与给定名称匹配的文件。到目前为止,我管理的是如何只过滤扩展名,这并不管理我需要的东西……有什么提示吗?谢谢!
发布于 2018-01-19 19:23:14
为其创建自定义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);发布于 2018-01-19 19:24:44
使用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);https://stackoverflow.com/questions/48339902
复制相似问题