Is it possible to make a 2D array in java serializable?
If not, i am looking to "translate" a 3x3 2D array into a Vector of Vectors.
I have been playing around with vectors, and I am still unsure of how to represent that. Can anyone help me?
Thanks!
Arrays in Java are serializable - thus Arrays of Arrays are serializable too.
The objects they contain may not be, though, so check that the array's content is serializable - if not, make it so.
Here's an example, using arrays of ints.
public static void main(String[] args) {
    int[][] twoD = new int[][] { new int[] { 1, 2 },
            new int[] { 3, 4 } };
    int[][] newTwoD = null; // will deserialize to this
    System.out.println("Before serialization");
    for (int[] arr : twoD) {
        for (int val : arr) {
            System.out.println(val);
        }
    }
    try {
        FileOutputStream fos = new FileOutputStream("test.dat");
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        oos.writeObject(twoD);
        FileInputStream fis = new FileInputStream("test.dat");
        ObjectInputStream iis = new ObjectInputStream(fis);
        newTwoD = (int[][]) iis.readObject();
    } catch (Exception e) {
    }
    System.out.println("After serialization");
    for (int[] arr : newTwoD) {
        for (int val : arr) {
            System.out.println(val);
        }
    }
}
Output:
Before serialization
1
2
3
4
After serialization
1
2
3
4
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With