MyClass.java Source code

Java tutorial

Introduction

Here is the source code for MyClass.java

Source

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

class MyClass implements Serializable {
    String str;
    double[] vals;
    File fn;

    public MyClass(String s, double[] nums, String fname) {
        str = s;
        vals = nums;
        fn = new File(fname);
    }

    public String toString() {
        String data = "  str: " + str + "\n  vals: ";

        for (double d : vals)
            data += d + " ";
        data += "\n  fn: " + fn.getName();

        return data;
    }
}

public class Main {
    public static void main(String[] argv) throws Exception {
        double v[] = { 1.1, 2.2, 3.3 };
        double v2[] = { 9.0, 8.0, 7.7 };

        MyClass obj1 = new MyClass("This is a test", v, "Test.txt");
        MyClass obj2 = new MyClass("Alpha Beta Gamma", v2, "Sample.dat");

        ObjectOutputStream fout = new ObjectOutputStream(new FileOutputStream("obj.dat"));
        System.out.println("obj1:\n" + obj1);
        fout.writeObject(obj1);
        System.out.println("obj2:\n" + obj2);
        fout.writeObject(obj2);
        fout.close();

        ObjectInputStream fin = new ObjectInputStream(new FileInputStream("obj.dat"));
        MyClass inputObj;

        inputObj = (MyClass) fin.readObject();
        System.out.println("First object:\n" + inputObj);

        inputObj = (MyClass) fin.readObject();
        System.out.println("Second object:\n" + inputObj);
        fin.close();
    }
}