ホームページ >Java >&#&チュートリアル >Java シリアル化可能オブジェクトをネットワーク送信用のバイト配列に変換するにはどうすればよいですか?

Java シリアル化可能オブジェクトをネットワーク送信用のバイト配列に変換するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-23 03:34:14823ブラウズ

How Do I Convert Java Serializable Objects to Byte Arrays for Network Transmission?

Java 直列化可能オブジェクトのバイト配列への変換

ネットワーク経由でデータを送信する場合、多くの場合、直列化可能オブジェクトをバイト配列に変換することが望まれます。これにより、受信側での効率的な送信と再構築が可能になります。 Java では、オブジェクトのバイト配列へのシリアル化と逆シリアル化は簡単なプロセスです。

まず、シリアル化可能なクラス AppMessage を定義しましょう。

import java.io.Serializable;

public class AppMessage implements Serializable {}

AppMessage オブジェクトをバイト配列に変換するには、次の手順を実行します。これらの手順:

byte[] messageBytes = serialize(appMessage);

// Method to serialize an object to byte[]
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);
    }
}

受信側マシンで、バイトから AppMessage オブジェクトを再構築できます。 array:

AppMessage receivedMessage = (AppMessage) deserialize(messageBytes);

// Method to deserialize an object from byte[]
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);
    }
}

これらの手順に従うと、シリアル化可能な Java オブジェクトをバイト配列としてマシン間で簡単に送信でき、効率的なデータ転送と再構築の容易さが確保されます。

以上がJava シリアル化可能オブジェクトをネットワーク送信用のバイト配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。