我有一個問題....2D陣列爲int(種子)和背面
在這裏,我們得到了一個2D字節數組:
字節[] [] = duengonMap新的字節[500] [ 500];
因爲我想把它從客戶端發送到服務器或反過來,我需要把它放到一個int/long。從服務器將發送到其他連接的客戶端,在那裏它將轉換回2d陣列。聽起來很簡單......但我該怎麼做?
我想類似的東西:
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);
}
}
}
它僅被轉換爲「文件」也許我這樣做不對, 但我不知道如何將它轉換爲int或長... 任何想法?還是例子?
爲什麼你認爲你需要轉換爲int? 'byte [] []'是一個對象;所以你可以直接發送它;使用'writeObject()'。或者我在這裏錯過了什麼? – GhostCat
是的,因爲我使用Kryonet,沒有提到。在那裏你不能發送字節[] []或大對象通過udp或tcp,比服務器將崩潰:/ – genaray
沒有人得到一個解決方案? – genaray