2

DataOutputStreamに大きな文字列を書き込もうとしていますが、次のように表示さUTFDataFormatExceptionれます。

String more than 65535 UTF bytes long

これは私が電話したときに起こります:

byteOut.writeUTF(stringArray.get(i));

byteOutは私のものDataOutputStreamでありstringArray.get(i);、私の文字列です。

とにかくこれに大きな文字列を入れるDataOutputStream方法はありますか、それとも別の解決策がありますか?

ありがとう!

4

2 に答える 2

2

私は自分の問題の解決策を見つけました、そしてここにあります。

ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream byteOut = new DataOutputStream(baos);
byte[] data = stringArray.get(i).getBytes("UTF-8");
byteOut.write(data);
byteOut.close();
byte[] input = baos.toByteArray();

そうではないかもしれませんし、おそらく完璧ではありませんが、機能します。

于 2012-11-06T14:22:12.130 に答える
0

作成に何を使用していOutputStreamますか?このリンクを見てください:ここ。通信する媒体には制約がある可能性があり、オブジェクトにいくつかのパラメーターを構成する必要があります。

于 2012-11-05T14:59:03.257 に答える