How to Use Serialized Objects in Java

See Java: Tips and Tricks for similar articles.

What if you created an object in Java and wanted to make it permanent so you can continue working on the object at a later time? The solution is to serialize the object and then write it to a file. When you need the object in the future, you can then read the object back into memory from the file.

Java provides several classes in the java.io package that assist the developer in using serialized objects. To learn how to use serialized objects in Java, follow these seven steps.

  1. First, you will create the class from which the serialized object will be created. Open your text editor and type in the following Java statements:Java Source for Serialized PersonThe Person class must implement java.io.Serializable in order to be serialized.
  2. Save your file as Person.java.
  3. Open a command prompt and navigate to the directory containing your Java program. Then type in the command to compile the source and hit Enter.Compile Serialized Person
  4. Now you will create the program that serializes the Person class. Open your text editor and type in the following Java statements:Java Source for Serialized ObjectsThe program instantiates the Person object that will be serialized. Next, an OutputObjectStream object is created. When you code the constructor argument of FileOutputStream and FileInputStream, replace the string containing the path ("c:/JavaStuff") with a directory that exists on your computer. You can retain the file name (Person.ser) or rename it if you prefer. The ObjectOutputStream constructor is placed in a "try with resources" statement. Therefore the file will be closed regardless of whether an exception occurs or not. The IOException is possible during execution of the FileOutputStream constructor. The program writes the Person object to the file using the printObject method. The ObjectInputStream constructor is placed in a "try with resources" statement. Therefore the file will be closed regardless of whether an exception occurs or not. The FileNotFoundException is possible during execution of the FileInputStream constructor. The ClassNotFoundException is possible when calling the readObject. Therefore, a generic catch is provided for both exceptions. The program reads the serialized object using the readObject method and then displays the contents of the object that is read, i.e., the full name of the person.
  5. Save your file as UseSerializedObjects.java.
  6. Open a command prompt and navigate to the directory containing your Java program. Then type in the command to compile the source and hit Enter.Compile Source for Serialized Objects Tester
  7. Type in the command to run your program and hit Enter.Run Serialized Objects TesterThe output displays the full name stored in the serialized object and then the full name in the retrieved object. The name is identical, verifying that the object was successfully stored in the file.

Related Articles

  1. How to Check Object Type in Java
  2. How to Create a Jar File in Java
  3. How to Compile Packages in Java
  4. How to Throw an Exception in Java
  5. How to Create an Exception Class in Java
  6. How to Use the super Keyword to Call a Base Class Constructor in Java
  7. How to Use the Comparator.comparing Method in Java 8
  8. How to Use System.in in Java
  9. How to Call an Interface Method in Java
  10. How to Add a Time Zone in the Java 8 Date/Time API
  11. How to Rethrow an Exception in Java
  12. How to Use the instanceof Operator with a Generic Class in Java
  13. How to Instantiate an Object in Java
  14. How to Filter Distinct Elements from a Collection in Java 8
  15. How to Create a Derived Class in Java
  16. How to Skip Elements with the Skip Method in Java 8
  17. How to Create a Java Bean
  18. How to Implement an Interface in Java
  19. How to Compare Two Objects with the equals Method in Java
  20. How to Set PATH from JAVA_HOME
  21. How to Prevent Race Conditions in Java 8
  22. How to Write a Block of Code in Java
  23. How to Display the Contents of a Directory in Java
  24. How to Group and Partition Collectors in Java 8
  25. How to Create a Reference to an Object in Java
  26. How to Reduce the Size of the Stream with the Limit Method in Java 8
  27. How to Write an Arithmetic Expression in Java
  28. How to Format Date and Time in the Java 8 Date/Time API
  29. How to Use Comparable and Comparator in Java
  30. How to Break a Loop in Java
  31. How to Use the this Keyword to Call Another Constructor in Java
  32. How to Write a Unit Test in Java
  33. How to Declare Variables in Java
  34. How to Override Base Class Methods with Derived Class Methods in Java
  35. How to Use Serialized Objects in Java (this article)
  36. How to Write Comments in Java
  37. How to Implement Functional Interfaces in Java 8
  38. How to Write Type Parameters with Multiple Bounds in Java
  39. How to Add Type and Repeating Annotations to Code in Java 8
  40. How to Use Basic Generics Syntax in Java
  41. How to Map Elements Using the Map Method in Java 8
  42. How to Work with Properties in Java
  43. How to Write while and do while Loops in Java
  44. How to Use the finally Block in Java
  45. How to Write for-each Loops in Java
  46. How to Create a Method in Java
  47. How to Continue a Loop in Java
  48. How to Handle Java Files with Streams
  49. How to Create an Interface Definition in Java
  50. How Default Base Class Constructors Are Used with Inheritance