As I understand, the Customer structure will be read and written only locally and also by the same or highly related program. For such situation, I think, Java serialization is appropriate as it adds very little code.
Make the Customer to implement Serializable (put immediately serialVersionUID so you could control versions later). ArrayList is already Serializable. Obtain the file name as explained here and use ObjectInput/Output stream to serialize. You can always migrate to XML/JSON later if the need arises. A simple "hello world" example for serialization can be found here.