【发布时间】:2016-10-24 13:25:43
【问题描述】:
我想知道是否有一种方法可以过滤文件名以使它们在对话框中可选择以选择文件,例如所有以“A”开头且为 txt 格式的文件,我搜索了一下我发现只有关于扩展过滤器的扩展提示主题,这很好,但我只想选择一些格式的文件。
【问题讨论】:
标签: java file javafx filechooser
我想知道是否有一种方法可以过滤文件名以使它们在对话框中可选择以选择文件,例如所有以“A”开头且为 txt 格式的文件,我搜索了一下我发现只有关于扩展过滤器的扩展提示主题,这很好,但我只想选择一些格式的文件。
【问题讨论】:
标签: java file javafx filechooser
在 JavaFX 中,您可以通过将 ExtensionFilters 添加到 getExtensionFilters 返回的过滤器列表中来过滤特定的文件类型,如下所示:
FileChooser fileChooser = new FileChooser();
fileChooser.getExtensionFilters().add(new ExtensionFilter("Text Files", "*.txt"));
JavaFX 文件选择器不支持按文件名过滤,只支持按扩展名过滤。这是因为大多数平台的文件选择器本身并不支持此功能。
【讨论】:
当然,你可以从这个例子中得到一些想法;在 Java Swing 中(我不确定在 JavaFX 中如何),您可以按名称或扩展名过滤文件,例如:
FileChooser fileChooser = new FileChooser();
FileFilter filter = new FileNameExtensionFilter("MP3 File","mp3");
fileChooser.setFileFilter(filter)`
【讨论】:
FileChooser chooser = new FileChooser();
chooser.getExtensionFilters().addAll(new ExtensionFilter("Excel Files", "*.xls"));
您可以根据要添加的过滤器数量使用 add 或 addAll。
【讨论】: