Skip to main content

Java Exception Handling MCQ Test

  Loading…

Object Streams

 Object streams in Java are used to serialize and deserialize objects, allowing them to be written to and read from streams. Here are some notes and examples on object streams:


1. Object Streams:

   - Object streams allow for the serialization and deserialization of Java objects.

   - They provide a convenient way to persist Java objects to files or transmit them over networks.


2. ObjectInputStream and ObjectOutputStream:

   - `ObjectInputStream` and `ObjectOutputStream` are classes in Java used for reading and writing objects to streams.

   - These classes wrap byte streams and provide methods like `readObject()` and `writeObject()`.


   Example (Writing Objects to ObjectOutputStream):

   import java.io.*;


   public class ObjectOutputStreamExample {

       public static void main(String[] args) throws IOException {

           ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("objects.ser"));

           Person person = new Person("John", 30);

           oos.writeObject(person);

           oos.close();

       }

   }



   Example (Reading Objects from ObjectInputStream):


   import java.io.*;


   public class ObjectInputStreamExample {

       public static void main(String[] args) throws IOException, ClassNotFoundException {

           ObjectInputStream ois = new ObjectInputStream(new FileInputStream("objects.ser"));

           Person person = (Person) ois.readObject();

           ois.close();

           System.out.println("Name: " + person.getName());

           System.out.println("Age: " + person.getAge());

       }

   }



   Explanation:

   - In the first example, we create a `Person` object and write it to an `ObjectOutputStream`.

   - In the second example, we read the `Person` object back from the `ObjectInputStream` and print its attributes.


3. Serializable Interface:

   - For an object to be serialized, its class must implement the `Serializable` interface.

   - This interface is a marker interface that indicates the object is serializable.


   Example (Serializable Class):


   import java.io.Serializable;

   public class Person implements Serializable {

       private String name;

       private int age;


       public Person(String name, int age) {

           this.name = name;

           this.age = age;

       }


       // Getters and setters

       // ...

   }


   Explanation:

   - The `Person` class implements the `Serializable` interface, allowing its objects to be serialized.


These examples demonstrate how to use `ObjectInputStream` and `ObjectOutputStream` to serialize and deserialize objects in Java. They provide a powerful mechanism for handling complex data structures and persisting application state.

Comments

Popular posts from this blog

Passing and Returning Objects in Java Methods

Passing and Returning Objects in Java Methods In Java, objects can be passed as parameters to methods and returned from methods just like other primitive data types. This allows for flexibility and the manipulation of object state within methods. Let's explore how passing and returning objects work in Java. Passing Objects as Parameters When you pass an object as a parameter to a method, you are essentially passing a reference to that object. This means that changes made to the object inside the method will affect the original object outside the method.  Example: class Car {     String model;     Car(String model) {         this.model = model;     } } public class CarProcessor {     // Method to modify the Car object     static void modifyCar(Car car, String newModel) {         car.model = newModel;     }     public static void main(String[] args) {       ...

OracleJDK vs OpenJDK

Oracle JDK (Java Development Kit): Oracle JDK is the official reference implementation of the Java Platform, Standard Edition (Java SE). It included the JRE along with development tools. OpenJDK: An open-source alternative to Oracle JDK, OpenJDK is a community-driven project. It provides a free and open-source implementation of the Java Platform, and many other JDKs, including Oracle JDK, are derived from OpenJDK. Below is a simple table highlighting some key points of comparison between Oracle JDK and OpenJDK: Feature Oracle JDK OpenJDK Vendor Oracle Corporation OpenJDK Community Licensing Commercial (Paid) with Oracle Binary Code License Agreement Open Source (GNU General Public License, version 2, with the Classpath Exception) Support Commercial support available with Oracle Support subscription Community support, may have commercial support options from other vendors Updates and Patches Regular updates with security patches provided by Oracle Updates and patches contributed by the ...