0

当我在调试模式下运行以下代码段时,只要我执行 line 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

As documented at http://docs.oracle.com/javase/1.4.2/docs/api/java/io/DataInput.html#readUTF() the calls reads a string from the stream and returns it.

Your debugger is just waiting for input.

于 2012-09-28T10:04:59.577 回答
0

除非你用你写数据,否则你DataOutputStream.writeUTF()不能用DataInputStream.readUTF(). 可能您应该使用readLine(). 这完全取决于您如何编写数据,而您没有告诉我们。

于 2012-09-28T11:22:35.463 回答