I'm trying to save a file using JFileChooser. However, I seem to be having some trouble with it. Here's my code:
    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());
        }
    }
This doesn't force the file to have a .xml extension, so I've tried to use the following code to force the file to be saved with the extension .xml
     OutputFormat format = OutputFormat.createPrettyPrint();
     format.setEncoding("UTF-8");
     XMLWriter xmlWriter = null;
     try {              
         xmlWriter = new XMLWriter(new OutputStreamWriter(
                 new FileOutputStream(f+".xml"), "UTF8"),
                 format);
However, with this I can't prevent the user from writing xpto.xml in the JFileChooser and if they do that, the file will have "two extensions": it will be a file named xpto.xml.xml
So my questions are:
- How can I make the JFileChoosersave an xml file by default?
- If the user inserts a file name like xpto.xml, how can I save it as xpto.xml and not xpto.xml.xml?