Data.java Source code

Java tutorial

Introduction

Here is the source code for Data.java

Source

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

class Data implements Serializable {
    private int value;

    public Data(int init) {
        value = init;
    }

    public boolean equals(Object obj) {
        if (obj instanceof Data && ((Data) obj).value == value) {
            return true;
        }
        return false;
    }

    public void setValue(int val) {
        value = val;
    }

    public int getValue() {
        return value;
    }
}

public class MainClass {
    public static void main(String[] args) {
        Data data = new Data(1);
        try {
            ObjectOutputStream objectOut = new ObjectOutputStream(
                    new BufferedOutputStream(new FileOutputStream("C:/test.bin")));
            objectOut.writeObject(data);
            System.out.println("1st Object written has value: " + data.getValue());
            data.setValue(2);
            objectOut.writeObject(data);
            System.out.println("2nd Object written has value: " + data.getValue());
            data.setValue(3);
            objectOut.writeObject(data);
            System.out.println("3rd Object written has value: " + data.getValue());
            objectOut.close();
        } catch (IOException e) {
            e.printStackTrace(System.err);
        }
        try {
            ObjectInputStream objectIn = new ObjectInputStream(
                    new BufferedInputStream(new FileInputStream("C:/test.bin")));
            Data data1 = (Data) objectIn.readObject();
            Data data2 = (Data) objectIn.readObject();
            Data data3 = (Data) objectIn.readObject();
            System.out.println(data1.equals(data2));
            System.out.println(data2.equals(data3));
            System.out.println(data1.getValue());
            System.out.println(data2.getValue());
            System.out.println(data3.getValue());
            objectIn.close();
        } catch (Exception e) {
            e.printStackTrace(System.err);
        }
    }
}