0

次のコード セグメントをデバッグ モードで実行すると、行を実行するとすぐstr=in.readUTF()にプログラムが停止します。

InputStream sin=socket.getInputStream();
DataInputStream in=new DataInputStream(sin);

String str="";
str=in.readUTF();

System.out.println("This line is not reached");

私はネットビーンズを使用しています。例外は表示されませんが、プログラムは停止します。デバッグ モードでは、最初はstr=in.readUTF()線が緑色ですが、F7 または F8を押して続行すると、緑色の線がピンクに変わり、プログラムが停止します。

4

2 に答える 2

1

http://docs.oracle.com/javase/1.4.2/docs/api/java/io/DataInput.html#readUTF () に記載されているように、呼び出しはストリームから文字列を読み取り、それを返します。

デバッガーは入力を待っているだけです。

于 2012-09-28T10:04:59.577 に答える
0

でデータを書き込まない限り、でDataOutputStream.writeUTF()読み取ることはできませんDataInputStream.readUTF()。おそらく、を使用する必要がありますreadLine()。それはあなたがどのようにデータを書いたかに完全に依存しますが、あなたは私たちに話していません。

于 2012-09-28T11:22:35.463 に答える