Диалог сохранения не добавляет расширение к файлу

У меня есть кнопка, которая открывает диалоговое окно сохранения с установленными фильтрами расширения по умолчанию. Когда я сохраняю файл, он создает его в правильной папке, но не добавляет расширение в конце. Как мне добавить расширение в конец файла на основе фильтра? Вот мой код кнопки сохранения файла:

    btnNewButton = new JButton("Export File");
    btnNewButton.addActionListener (new ActionListener() {

        public void actionPerformed(ActionEvent arg0) {
            final JFileChooser finder = new JFileChooser();
            finder.setFileFilter(new FileNameExtensionFilter("Board Files", "boa"));
            int returnVal = finder.showSaveDialog(null);
            if (returnVal == javax.swing.JFileChooser.APPROVE_OPTION) {
                java.io.File file = finder.getSelectedFile();
                String file_name = file.toString();
                JOptionPane.showMessageDialog(null, file_name);
                WriteFile data = new WriteFile(file_name);              
                try {
                    data.writeToFile("Testing 1");
                } catch (IOException e) {
                    System.out.println(e.getMessage());
                }
            }
        }
    });

person Dan    schedule 08.05.2013    source источник
comment
для всех в будущем вот отличное руководство: thepcwizard.in/2013 /05/complete-guide-to-jfilechooser.html   -  person ThePCWizard    schedule 09.05.2013


Ответы (2)


Вы можете добавить расширение самостоятельно, если это еще не сделано пользователем.

String file_name = file.toString();
if (!file_name.endsWith(".boa"))
    file_name += ".boa";
person PurkkaKoodari    schedule 08.05.2013

Фильтр предназначен только для фильтрации существующих файлов внутри выбранной папки. Поскольку существует возможность иметь более одного расширения внутри фильтра, только вы можете решить, какое расширение добавить.

Само добавление может быть выполнено, как в ответе выше.

person mschenk74    schedule 08.05.2013