Tablice w języku Java można przekształcać do postaci szeregowej - dzięki temu tablice tablic są również przekształcalne do postaci szeregowej.
Obiekty, które zawierają, mogą jednak nie być, więc sprawdź, czy zawartość tablicy jest możliwa do serializacji - jeśli nie, ułóż tak.
Oto przykład, używając tablic int.
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);
}
}
}
wyjściowa:
Before serialization
1
2
3
4
After serialization
1
2
3
4
Hm, dobrze. Moja wielowymiarowa tablica zawiera tylko liczby całkowite, ale cieszę się, że sama tablica jest rzeczywiście możliwa do serializacji, dzięki ... – littleK
Współpracuje z ints dla mnie - nie wiem, dlaczego widzisz problem. Powodzenia! – Brabster