Issue
I don't know how to get selected file extension. I have seen that developers ask this question frequently, but I could find and proper answer. I know it is a bug (http://javafx-jira.kenai.com/browse/RT-18836), but anyways, is there any solutions for it. I wanto to save my linechart as .PDF or .PNG file. My code for both files works fine. But I just can't stand not to get selected file. Is there any solution possible? I see that Java has built in function for this issue.
This solution is not relevant for me: JavaFX FileChooser not returning file extension for Windows
My code is:
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);
Then I get file path without extensions:
String filePath = file.getAbsolutePath();
Solution
If you want to know the extension of selected file from file chooser here is a code..
String fileName = file1.getName();
String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1, file1.getName().length());
System.out.println(">> fileExtension" + fileExtension);
And here is a brief of what you need to do with file chooser,
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);
}
Answered By - Shreyas Dave
Answer Checked By - Mildred Charles (JavaFixing Admin)