я использую следующий метод для сериализации int [] [] для хранения в БД.Я не могу вернуть данные в формате массива, второй метод был моей первой попыткой вернуть мои данные.Может быть, мне не хватает некоторых основ?
public byte[] serializeFarbwerte(int[][] farbwerte){
byte [] frame = null;
// Serialize colorvalues to a byte array
ObjectOutputStream out;
ByteArrayOutputStream bos = new ByteArrayOutputStream() ;
try {
out = new ObjectOutputStream(bos) ;
out.writeObject(farbwerte);
out.close();
frame = bos.toByteArray();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
return frame;
}
enter code here
Как мне вернуть данные в правильном формате?Я попробовал это, но, наконец, мой массив все еще отсутствует;)
public int[][] unserializeFarbwerte(byte[] frame){
int [][]farbwerte = null;
byte[] outbyte =null;
// deserialize byte array to table color values
ObjectInputStream in;
ByteArrayInputStream bis = new ByteArrayInputStream(frame) ;
try {
in = new ObjectInputStream(bis) ;
in.readObject();
in.close();
bis.read(outbyte);
} catch (StreamCorruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//for testing
for(int x = 0; x<8;x++){
for(int y = 0; x<16;y++){
farbwerte[x][y] = outbyte[x+y];
}
}
return farbwerte;
}
Заранее спасибо за помощь!
// Редактировать: Просто если кто-то найдетэто полезно: я реализовал решение @Javes следующим образом:
public int[][] unserializeFarbwerte(byte[] frame){
int[][]farbwerte = null;
// deserialize byte array to table color values
ObjectInputStream in;
ByteArrayInputStream bis = new ByteArrayInputStream(frame);
try {
in = new ObjectInputStream(bis) ;
farbwerte = (int[][]) in.readObject();
in.close();
} catch (StreamCorruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return farbwerte;
}