在需要透過網路傳輸Java 物件或以二進位格式儲存它們的情況下,將它們轉換為位元組數組可能是必不可少的。讓我們考慮一個場景,其中我們有一個可序列化的類別 AppMessage。要透過套接字將AppMessage 實例傳送到另一台機器並根據接收到的位元組重建它們,我們可以按照以下步驟操作:
此過程的程式碼片段:
static byte[] serialize(final Object obj) { ByteArrayOutputStream bos = new ByteArrayOutputStream(); try (ObjectOutputStream out = new ObjectOutputStream(bos)) { out.writeObject(obj); out.flush(); return bos.toByteArray(); } catch (Exception ex) { throw new RuntimeException(ex); } }
對應程式碼snippet:
static Object deserialize(byte[] bytes) { ByteArrayInputStream bis = new ByteArrayInputStream(bytes); try (ObjectInput in = new ObjectInputStream(bis)) { return in.readObject(); } catch (Exception ex) { throw new RuntimeException(ex); } }
使用這些方法,您可以透過網路高效地傳送可序列化對象,例如AppMessage 實例,並在接收端重建它們。
以上是如何將 Java 可序列化物件與位元組陣列相互轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!