我只想选择.xls和.xlsx文件,但我无法选择任何类型的文件。任何人都可以向我推荐任何代码,或者任何人都可以对我现有的代码进行更改? 提前致谢。
public class Convertor {
public static void main(String[] args) {
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new java.io.File("."));
chooser.setDialogTitle("choosertitle");
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setAcceptAllFileFilterUsed(false);
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory());
System.out.println("getSelectedFile() : " + chooser.getSelectedFile());
} else {
System.out.println("No Selection ");
}
}
}
答案 0 :(得分:3)
您应该使用FileNameExtensionFilter。
FileFilter filter = new FileNameExtensionFilter("Excel file", "xls", "xlsx");
chooser.addChoosableFileFilter(filter);
答案 1 :(得分:0)
您也可以使用FileFilter类。
class ExcelFilter extends FileFilter {
@Override
public boolean accept(File pathname) {
String filename = pathname.getName();
if (pathname.isDirectory()) {
return true;
} else if (filename.endsWith("xls") || filename.endsWith("xlsx")) {
return true;
} else {
return false;
}
}
@Override
public String getDescription() {
return "Excel Files";
}
}
现在在你的主要课程中使用:
chooser.setFileFilter(new ExcelFilter());
答案 2 :(得分:0)
改善@Amila的评论,应该是这样的:
FileNameExtensionFilter filter = new FileNameExtensionFilter("Excel files", "xlsx", "xls");
fileChooser.addChoosableFileFilter(filter);
fileChooser.setFileFilter(filter);