Java serialization example w3schools javatpoint
Java serialization example w3schools javatpoint
Here is an example of using Java serialization to store and retrieve data:
Java Serialization Example: Student Class
Let's consider a simple Student
class with attributes like name, age, and address. We'll use this class as an example for demonstrating Java serialization.
import java.io.*;
public class Student implements Serializable {
private String name;
private int age;
private Address address;
public Student(String name, int age, Address address) {
this.name = name;
this.age = age;
this.address = address;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public Address getAddress() {
return address;
}
}
public class Address implements Serializable {
private String street;
private String city;
private String state;
public Address(String street, String city, String state) {
this.street = street;
this.city = city;
this.state = state;
}
public String getStreet() {
return street;
}
public String getCity() {
return city;
}
public String getState() {
return state;
}
}
Java Serialization Example: Writing and Reading Serialized Data
Here's an example of how to use Java serialization for writing and reading serialized data:
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException, ClassNotFoundException {
// Create a new student with name "John Doe", age 25,
// and address as "123 Main St, Anytown, CA"
Student student = new Student("John Doe", 25, new Address("123 Main St", "Anytown", "CA"));
// Write the student object to a file
FileOutputStream fos = new FileOutputStream("student.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(student);
oos.close();
fos.close();
// Read the serialized data from the file
FileInputStream fis = new FileInputStream("student.ser");
ObjectInputStreamois = new ObjectInputStream(fis);
Student readStudent = (Student) ois.readObject();
ois.close();
fis.close();
// Print the details of the read student object
System.out.println("Name: " + readStudent.getName());
System.out.println("Age: " + readStudent.getAge());
System.out.println("Address: " + readStudent.getAddress().getStreet() +
", " + readStudent.getAddress().getCity() + ", " + readStudent.getAddress().getState());
}
}
W3Schools Tutorial on Java Serialization
The W3Schools tutorial on Java serialization provides an excellent introduction to the topic. The tutorial includes examples and explanations of how to serialize and deserialize objects in Java.
Here's a summary of the key points from the W3Schools tutorial:
To use Java serialization, you need to implement theSerializable
interface. You can specify which fields of your class are serialized by using the transient
keyword. Java serialization uses the writeObject()
and readObject()
methods of the ObjectOutputStream
and ObjectInputStream
classes, respectively. Serialization is typically used for storing or sending objects across a network.
JavaTpoint Tutorial on Java Serialization
The JavaTpoint tutorial on Java serialization covers the basics of serialization in Java, including how to serialize and deserialize objects. The tutorial also includes examples that demonstrate how to use serialization with different data types.
Here's a summary of the key points from the JavaTpoint tutorial:
Java serialization is a mechanism for converting an object into a byte stream. TheSerializable
interface must be implemented by the class whose instances are to be serialized. The transient
keyword can be used to specify that a field should not be serialized. Serialization can be used with different data types, including primitive types and objects.
Overall, Java serialization is a powerful tool for storing and retrieving complex data in Java. By implementing the Serializable
interface and using the writeObject()
and readObject()
methods, you can easily serialize and deserialize objects in your Java program.
Java serialization example w3schools pdf
Here is an example of using Java serialization to store and retrieve data:
Let's say we have a class called Person
with two fields: name
and age
. We want to serialize this object so that it can be stored in a file or database.
Here is the code for the Person
class:
import java.io.*;
public class Person implements Serializable {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
Next, we need to create a Person
object and serialize it using the ObjectOutputStream
. Here is an example:
import java.io.*;
public class Main {
public static void main(String[] args) {
Person person = new Person("John", 30);
try (FileOutputStream fileOut = new FileOutputStream("person.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut)) {
out.writeObject(person);
} catch (IOException ex) {
System.out.println("Exception writing to file: " + ex.getMessage());
}
}
}
In this example, we create a Person
object with the name "John"
and age 30
. We then use an ObjectOutputStream
to serialize the object to a file named person.ser
.
To deserialize the object from the file, we can use an ObjectInputStream
. Here is an example:
import java.io.*;
public class Main {
public static void main(String[] args) {
try (FileInputStream fileIn = new FileInputStream("person.ser");
ObjectInputStream in = new ObjectInputStream(fileIn)) {
Person person = (Person) in.readObject();
System.out.println("Deserialized Person: " + person.getName() + ", " + person.getAge());
} catch (IOException ex) {
System.out.println("Exception reading from file: " + ex.getMessage());
}
}
}
In this example, we read the serialized object from the file using an ObjectInputStream
, and then cast it back to a Person
object. We can then access its fields using getters.
Note that serialization in Java is not secure by default. If you need to serialize objects securely, you should implement additional security measures, such as encryption.
Here is a W3Schools-style tutorial on Java serialization:
Java Serialization Tutorial
In this tutorial, we will learn how to serialize and deserialize Java objects using the ObjectOutputStream
and ObjectInputStream
classes.
Serialization is the process of converting an object into a byte stream. This can be useful for storing or transmitting objects.
How Does it Work?To serialize an object, you need to use an ObjectOutputStream
. You can think of this as a "serializer". The object is converted into a byte stream, which can be written to a file or sent over the network.
To deserialize an object, you need to use an ObjectInputStream
. This is the opposite of serialization. It reads a byte stream and converts it back into an object.
Let's say we have a class called Person
with two fields: name
and age
. We can serialize this object using the following code:
import java.io.*;
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getters and setters
}
public class Main {
public static void main(String[] args) {
Person person = new Person("John", 30);
try (FileOutputStream fileOut = new FileOutputStream("person.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut)) {
out.writeObject(person);
} catch (IOException ex) {
System.out.println("Exception writing to file: " + ex.getMessage());
}
}
}
Deserialization
To deserialize the object, we can use the following code:
import java.io.*;
public class Main {
public static void main(String[] args) {
try (FileInputStream fileIn = new FileInputStream("person.ser");
ObjectInputStream in = new ObjectInputStream(fileIn)) {
Person person = (Person) in.readObject();
System.out.println("Deserialized Person: " + person.getName() + ", " + person.getAge());
} catch (IOException ex) {
System.out.println("Exception reading from file: " + ex.getMessage());
}
}
}
Summary
In this tutorial, we learned how to serialize and deserialize Java objects using the ObjectOutputStream
and ObjectInputStream
classes. We also saw an example of serializing a Person
object.
I hope you enjoyed this tutorial! Let me know if you have any questions or need further clarification.