I think I would reconsider this design a little bit.
It seems that each Charm should be
an object that HAS-A title, supplier, id, sales, inventory, totalSold, etc. The class you are currently calling "CHARM" is really a "Charm Manager" that should HAVE instances of Charm. More specifically, it seems like CharmManager should HAVE-A
List of Charms,
and you should be able to save that list so that you can open it back up later.
So first, I would write a separate Charm class, and make sure it implements the Serializable interface. (This interface is just a "tag" -- there are no methods you need to implement.)
Next, I would modify your CharmManager (currently called "CHARM") class so that it has a List of Charms. Then I would adapt the
example in
Thinking in Java to write 2 new methods for the CharmManager class: One method for saving the List (writing the object out as its own file), and a second method for loading the List (reading the file and re-creating the original list).
Give this a try, and see what you come up with.