ホームページ > Java > &#&チュートリアル > Java オブジェクトをバイト配列との間でシリアル化および逆シリアル化するにはどうすればよいですか?

Java オブジェクトをバイト配列との間でシリアル化および逆シリアル化するにはどうすればよいですか?

DDD
リリース: 2024-12-17 18:27:11
オリジナル
721 人が閲覧しました

How Can I Serialize and Deserialize Java Objects to and from Byte Arrays?

Java でのシリアル化可能オブジェクトのバイト配列への変換

Java では、Serializable インターフェイスを使用してオブジェクトをバイト ストリームに変換できます。この機能は、オブジェクトをネットワーク経由で送信したり、データベースに保存する必要がある場合に非常に重要です。

オブジェクトをバイト配列にエンコードする

オブジェクトをバイト配列にエンコードするには、次のコマンドを使用できます。次の手順:

  1. ByteArrayOutputStream をインスタンス化するobject.
  2. 出力ストリームとして ByteArrayOutputStream を使用して ObjectOutputStream オブジェクトを作成します。
  3. writeObject メソッドを使用してオブジェクトを ObjectOutputStream に書き込みます。
  4. ObjectOutputStream をフラッシュしてすべてのデータを確保しますに書かれていますByteArrayOutputStream.
  5. toByteArray メソッドを使用して ByteArrayOutputStream からバイト配列を取得します。

バイト配列からオブジェクトをデコードする

バイト配列からオブジェクトをデコードするには、あなたは行うことができます以下:

  1. バイト配列を使用して ByteArrayInputStream オブジェクトをインスタンス化します。
  2. 入力ストリームとして ByteArrayInputStream を使用して ObjectInputStream オブジェクトを作成します。
  3. ObjectInputStream からオブジェクトを読み取りますreadObjectを使用する

コード例

シリアル化と逆シリアル化:

シリアル化:

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);
    }
}
ログイン後にコピー

これらのメソッドを使用すると、簡単に変換できますオブジェクトをバイト配列との間でやり取りし、ネットワーク経由でデータを送信したり、データを永続化したりできるようにします。ストレージ。

以上がJava オブジェクトをバイト配列との間でシリアル化および逆シリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート