JavaFX FileChooser没有返回Windows的文件扩展名

时间:2012-09-20 22:28:37

标签: file javafx filechooser

以下代码在Mac上返回文件时工作正常,因为它会自动附加 文件名的文件扩展名。

在Windows上我必须输入文件的扩展名作为文件名的一部分才能使用该扩展名返回....即使在'保存类型中选择了扩展名为& #39;下拉菜单。

有没有办法在Windows上从filechooser返回文件时自动将扩展名附加到名称上?

FileChooser.ExtensionFilter extFilter = new   FileChooser.ExtensionFilter(fileExtension.toUpperCase()+" files(*."+fileExtension+")", "*."+fileExtension);
                fileChooser.getExtensionFilters().add(extFilter);

                //Show save file dialog 
                final File file = fileChooser.showSaveDialog(MyStage.this);

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。我的解决方案是创建一个新文件,并在File构造函数中将文件扩展名附加为字符串。

如果您希望用户能够选择并覆盖现有文件,请确保添加检查以确保初始保存文件在添加之前不包含特定扩展名,否则您将获得类似“test”的内容。 xls.xls”。

FileChooser fc = new FileChooser();
    FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("XLS File (*.xls)", "*.xls");

    fc.getExtensionFilters().add(extFilter);

    File save  = fc.showSaveDialog(stage);

    save = new File(save.getAbsolutePath()+".xls");

    FileOutputStream fileOut = new FileOutputStream(save);