使用 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.xmlJFileChooserxpto.xml.xml
所以我的问题是:
- 如何使保存默认为xml文件?
JFileChooser - 如果用户插入了一个文件名,如xpto.xml,我如何将其保存为xpto.xml而不是xpto.xml.xml?