Hi
I advise you to indicate the version of the file so that you have a chance to remain backward compatible, i.e that the latest version of your game can still read old versions of the save files.
Moreover, I advise you to implement this feature as late as possible in your game project. You’ll have a better idea of what you have to save and load when your game is stable and you’ll have less old versions to support except if you like frustrating your players.
I advise you to store the settings into a separate file.
Finally, I advise you to use XML or JSON only if your data are complicated enough to be worth it. Otherwise, a plain text file or a property file is enough. If you use the default Java binary serialization, you might have some problems with the serial version UID, you’ll have to set it everywhere to avoid problems with the automatically generated one.
Edit.: There are tons of APIs to handle XML, SimpleXML, XStream, JDOM, DOM, SAX, Java beans XML encoder and decoder, JAXB, Stax (JAXP), … The 5 last ones are parts of the standard Java API.
Edit.2: You can use java.util.Properties to read and write property files.
Edit.3: You can use JSON-Java to read and write JSON files.