是否有解决方法:FileFilter 在 Windows 中不起作用?

Is there a workaround for: FileFilter doesn't work in Windows?

除了 FileFilter 不过滤之外,以下 JFileChooser 代码工作正常。它什么都不做。来自另一个 Whosebug 答案:"Filename filters do not function in Sun's reference implementation for Microsoft Windows."

Windows 是否有 FileFilter 解决方法?

public String getPathFileName(String startingDir) {
   String returnSelectedFile = "";
   JFileChooser fileChooser = new JFileChooser(startingDir);
   FileFilter filter = new FileNameExtensionFilter("Excel file", "xls", "xlsx");
   fileChooser.addChoosableFileFilter(filter);
   int returnValue = fileChooser.showOpenDialog(null);
   if (returnValue == JFileChooser.APPROVE_OPTION) {
       File selectedFile = fileChooser.getSelectedFile();
       returnSelectedFile = selectedFile.getPath();
   }
   return returnSelectedFile;
}

我发现这个有效:

final JFileChooser chooser = new JFileChooser(); chooser.setFileFilter(new FileNameExtensionFilter("CSV FILES", "csv"));

我发现这适用于一个文件过滤器,但我无法确认是否适用于多个文件过滤器。希望这有帮助。