swing 打开文件过滤器

本文介绍了一个使用Java实现的文件选择器,该选择器允许用户从特定类型的文件中进行选择,例如文本文件(.txt)和Excel文件(.xls)。通过自定义文件过滤器ExampleFileFilter,可以限制文件选择器仅显示所需类型的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



private File getFile() {
File txtFile = null;
JFileChooser fileChooser = new JFileChooser();
// fileChooser.removeChoosableFileFilter(fileChooser.getFileFilter());
fileChooser.addChoosableFileFilter(new ExampleFileFilter("txt"));
fileChooser.addChoosableFileFilter(new ExampleFileFilter("xls"));
fileChooser.setDialogType(JFileChooser.OPEN_DIALOG);
int state = fileChooser.showDialog(this, "选择导入文件");
if (state == JFileChooser.APPROVE_OPTION) {
txtFile = fileChooser.getSelectedFile();
}
return txtFile;
}

class ExampleFileFilter extends FileFilter {
String suffix = "";
ExampleFileFilter(String suffix) {
this.suffix = suffix;
}
public boolean accept(File f) {
String suffix = getSuffix(f);
if (f.isDirectory() == true) {
return true;
}
if (suffix != null) {
if (suffix.toLowerCase().equals(this.suffix)) {
return true;
} else {
return false;
}
} else {
return false;
}
}
public String getDescription() {
return "*." + this.suffix;
}
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;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值