Я пытаюсь сохранить файл с помощью JFileChooser
. Однако, похоже, у меня проблемы с этим. Здесь мой код:
if (e.getSource() == saveMenu) {
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
FileNameExtensionFilter xmlFilter = new FileNameExtensionFilter("xml files (*.xml)", "xml");
// add filters
chooser.addChoosableFileFilter(xmlFilter);
chooser.setFileFilter(xmlFilter);
int result = chooser.showSaveDialog(Simulation.this);
if (result == chooser.APPROVE_OPTION) {
writeToXML(chooser.getSelectedFile());
}
}
Это не заставляет файл иметь расширение .xml
, поэтому я попытался использовать следующий код, чтобы принудительно сохранить файл с расширением .xml
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
XMLWriter xmlWriter = null;
try {
xmlWriter = new XMLWriter(new OutputStreamWriter(
new FileOutputStream(f+".xml"), "UTF8"),
format);
Однако с этим я не могу запретить пользователю писать xpto.xml
в JFileChooser
, и если они это сделают, файл будет иметь "два расширения": это будет файл с именем xpto.xml.xml
Итак, мои вопросы:
- Как я могу сделать
JFileChooser
сохранить xml файл по умолчанию? - Если пользователь вставляет имя файла, например xpto.xml, как его сохранить как xpto.xml, а не xpto.xml.xml?