我正在尝试从输入流中扫描String,但它不会关闭。这是我的代码:
public static String receive(int sid)
{
Scanner sc = new Scanner(servers[sid].getInputStream(), "UTF-8").useDelimiter("\\A");
String s = sc.next();
sc.close();
return s;
}
答案 0 :(得分:2)
你的程序可能会被困在这条线上:
String s = sc.next();
您是否尝试过使用sc.hasNext()或sc.hasNextLine()来检查更多数据?输入数据是否具有EOF字符?
此外,这个问题可能有所帮助:Java Scanner won't "finish" reading input