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); } }
対応するコード スニペット:
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 中国語 Web サイトの他の関連記事を参照してください。