当我在调试模式下运行以下代码段时,只要执行第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");
我使用netbeans。虽然没有显示异常,但程序停止。在调试模式下,最初str=in.readUTF()
行为绿色,但当我按 F7或F8 继续时,绿线变为粉红色,程序停止。
答案 0 :(得分:1)
如http://docs.oracle.com/javase/1.4.2/docs/api/java/io/DataInput.html#readUTF()所述,调用从流中读取一个字符串并将其返回。
您的调试器只是在等待输入。
答案 1 :(得分:0)
除非您使用DataOutputStream.writeUTF()
撰写数据,否则无法使用DataInputStream.readUTF()
阅读。可能你应该使用readLine()
。这完全取决于你如何编写数据,你没有告诉我们。