1

簡単なスクリプトを含む「test.sh」や「test.cmd」などのファイルを読み取る必要があります。

Java を使用して、それをシリアル化し、TCP/IP 経由で (JAXB + ZeroMQ を使用して) TCP/IP 経由でネットワーク内の他のノードに送信する必要があります。

ファイルを取得してバイトにシリアル化し、反対側 (シリアル化されたバイトを受信したノード) のファイルに戻す最良の方法は何ですか?

4

1 に答える 1

3

ファイルが問題なくメモリに収まるほど小さいと仮定すると、このInputStream.read(byte[] b, int off, int len)方法はおそらく探しているものです。このメソッドは、指定されたオフセットでlen入力ストリームから最大バイト数のデータをバイト配列に読み取り、読み取られた実際のバイト数を返します。このメソッドは、ファイルの最後に達しておらず、エラーがない限り、少なくとも 1 バイトが読み取られることを保証するだけで、保証はありません。そのため、このメソッドをループで呼び出して戻り値を確認する必要があります。後続の呼び出しのオフセットを更新するため。boff

データをファイルに書き戻すのは、 を呼び出すのと同じくらい簡単OutputStream.write(byte[] b)です。

于 2012-12-30T20:45:55.753 に答える