// out.println(" ");//solution
for (Utilizador ut : Diretorio.getInstance().getUtilizadores()) {
String s = ("CLT " + ut.getEndereco() + " " + ut.getPorto() );
out.println(s);
}
out.println("END");
System.out.println("Consulta realizada");
因此,我将其发送到我的输出流,但是在我的“输入”流中,我仅收到“ END”(如果列表中只有1个对象),如果列表中有2个对象,我的“输入”流中将仅显示1个对象,然后结束 这是我的“内”
} else if(in.readLine()!=null){
while((msg = in.readLine())!= null){
System.out.println(msg);
}
}
不能理解为什么我的“ out.println()”之一被跳过或根本不显示 这两个类都是线程
答案 0 :(得分:3)
在此代码中
} else if(in.readLine()!=null){
while((msg = in.readLine())!= null){
System.out.println(msg);
}
}
执行if(in.readLine()!=null)
时,将读取一行但不打印一行,然后在while
循环中,每个msg = in.readLine()
读取另一行并进行打印。
但是第一行从不打印。
更改为:
} else {
while((msg = in.readLine())!= null){
System.out.println(msg);
}
}