In Situationen, in denen Sie Java-Objekte über ein Netzwerk übertragen oder in einem Binärformat speichern müssen, konvertieren Sie sie in Byte-Arrays kann wesentlich sein. Betrachten wir ein Szenario, in dem wir eine serialisierbare Klasse AppMessage haben. Um AppMessage-Instanzen über Sockets an eine andere Maschine zu senden und sie aus den empfangenen Bytes zu rekonstruieren, können wir die folgenden Schritte ausführen:
Der Codeausschnitt für diesen Prozess:
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); } }
Der entsprechende Code 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); } }
Mit diesen Methoden können Sie serialisierbare Objekte, wie z. B. AppMessage-Instanzen, effizient über Netzwerke senden und sie auf der Empfängerseite rekonstruieren.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich serialisierbare Java-Objekte in Byte-Arrays und zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!