免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
ネットワークポートからデータを取得する必要があり、最近のアイテムは、その後、ソケットから取り出して、バイト[]の中に置かれ、受信したデータは、文字列ではありません
バイト[] BUF =新しいバイトを使用して、[開始 100] ;ように事前に定義された長さは、長さが長すぎるより多くの後に0ではなく、コントロールの長さにつながる可能性があります。
そして、見つけるためにインターネットのいずれかから、100を定義し、長さを知った後、長さを読んだ後に再定義が、結果はデータだけをしようとして後に発見されていない、それがデータであり、
エラーが発生しました。
byte[] buf=new byte[100];
int len=socket.getInputStream().read(buf);
byte[] buf1=new byte[len];
socket.getInputStream().read(buf1);
Socket.getInputStream(へ終わりに)次のように、利用可能な方法()ストリームのサイズクラスを取得します。
リスト<のInputStream> inputList =新しいのArrayList <のInputStream>(); = c_Socket.getInputStreamに入力ストリーム(); inputList.add(中) バイト[] B =新しいバイト[inputList.get(I).available()]。 INT I = inputList.get(I).read(B)。