[解決済み】Javaのシリアライズ可能なオブジェクトをバイト配列に変換する。
2022-03-27 03:02:11
質問
シリアライズ可能なクラスがあるとします。
AppMessage
.
として送信したいと思います。
byte[]
をソケット経由で別のマシンに送信し、そこで受信したバイトから再構築されます。
どうすれば実現できるのでしょうか?
どのように解決するのですか?
送信するバイト配列を用意する。
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream out = null;
try {
out = new ObjectOutputStream(bos);
out.writeObject(yourObject);
out.flush();
byte[] yourBytes = bos.toByteArray();
...
} finally {
try {
bos.close();
} catch (IOException ex) {
// ignore close exception
}
}
バイト配列からオブジェクトを作成します。
ByteArrayInputStream bis = new ByteArrayInputStream(yourBytes);
ObjectInput in = null;
try {
in = new ObjectInputStream(bis);
Object o = in.readObject();
...
} finally {
try {
if (in != null) {
in.close();
}
} catch (IOException ex) {
// ignore close exception
}
}
関連
-
[解決済み] コレクションへの共有参照が見つかりました org.hibernate.HibernateException
-
[解決済み] android.support.v4.app.FragmentActivity' で 'TAG' がプライベートアクセスされている。
-
[解決済み] SubclipseとJavaHLのインストールで頭を悩ます
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] JavaScriptのオブジェクトにキーが存在するかどうかをチェックする?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] jQueryでフォームデータをJavaScriptオブジェクトに変換する
-
[解決済み】未定義のオブジェクトプロパティを検出する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Firebase クラスにシリアライズするプロパティが見つからない
-
[解決済み] ボタンでTextFieldをクリアする(Java)
-
[解決済み] XX:MaxDirectMemorySizeの既定値
-
[解決済み] プロトコルハンドラの初期化に失敗しました。
-
[解決済み] Androidのコールバックとは何ですか?重複
-
[解決済み] 親から継承したメソッドの可視性を下げることができない [重複]。
-
[解決済み] アクティビティに割り当てられない
-
[解決済み] Eclipseでクラスとそれに対応するファイルの名前を変更する方法は?
-
[解決済み] Javaコンパイラーエラー:ステートメントではありません
-
[解決済み] ヘッドリカーシオンとテールリカーシオンの違い [重複]について