私にとっては、それが最もうまくいきました
FileChooser choose = new FileChooser();
choose.getExtensionFilters().add(new FileChooser.ExtensionFilter("Text doc(*.txt)", "*.txt"));
choose.setInitialFileName("*.txt");
File file = choose.showSaveDialog(stage);
if (file != null) {
if (file.getName().endsWith(".txt")) {
// do the operation with the file (i used a builder)
} else {
throw new Exception(file.getName() + " has no valid file-extension.");
}
}
そのように拡張子を手動で置き換える問題:
if(!f.getName().contains(".")) {
f = new File(f.getAbsolutePath() + ".txt");
}
つまり、拡張子のないファイルは存在しない可能性がありますが、拡張子のあるファイルが存在する場合は、警告なしに上書きされました。予期しない動作。