使用 JFileChooser 设置默认保存扩展
2022-09-02 23:49:48
我正在尝试使用 保存文件。但是,我似乎遇到了一些麻烦。这是我的代码: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
所以我的问题是:
- 如何使保存默认为xml文件?
JFileChooser
- 如果用户插入了一个文件名,如xpto.xml,我如何将其保存为xpto.xml而不是xpto.xml.xml?