JavaFX 2.2获取选定的文件扩展名

wan*_*nal 3 javafx filechooser

我不知道如何获得选定的文件exstesion.我看到开发人员经常提出这个问题,但我能找到并给出正确答案.我知道这是一个错误(fhttp://javafx-jira.kenai.com/browse/RT-18836),但无论如何都有任何解决方案.所以我想把我的折线图保存为pdf或png.我的两个文件的代码工作正常.但我无法忍受不被选中的文件.有没有可能的溶剂.我看到Java内置了这个问题的功能.

此解决方案与我无关: JavaFX FileChooser未返回Windows的文件扩展名

我的代码是:

 FileChooser fileChooser = new FileChooser();
 FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("PDF file(*.pdf)" ,"      
 *.pdf");

 fileChooser.getExtensionFilters().add(extFilter);
 extFilter = new FileChooser.ExtensionFilter("PNG files (*.png)", "*.png");
 fileChooser.getExtensionFilters().add(extFilter);
 fileChooser.setTitle("Save as");
 File file = fileChooser.showSaveDialog(primaryStage);
Run Code Online (Sandbox Code Playgroud)

然后我得到没有扩展名的文件路径:

 String filePath = file.getAbsolutePath();
Run Code Online (Sandbox Code Playgroud)

Shr*_*ave 8

如果你想知道文件选择器中所选文件的扩展名,这里是一个代码..

String fileName = file1.getName();          
String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1, file1.getName().length());
System.out.println(">> fileExtension" + fileExtension);
Run Code Online (Sandbox Code Playgroud)

这里简要介绍了文件选择器需要做什么,

FileChooser fileChooser = new FileChooser();
// Set extension filter
FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("Image Files", "*.jpg", "*.jpeg");
fileChooser.getExtensionFilters().add(extFilter);

File file = fileChooser.showOpenDialog(root.getScene().getWindow());

if (file != null) {

String fileName = file.getName();           
String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1, file.getName().length());
System.out.println(">> fileExtension" + fileExtension);

}
Run Code Online (Sandbox Code Playgroud)