扫描仪不会关闭

时间:2014-05-11 18:32:47

标签: java inputstream java.util.scanner

我正在尝试从输入流中扫描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;

}

1 个答案:

答案 0 :(得分:2)

你的程序可能会被困在这条线上:

String s = sc.next();

您是否尝试过使用sc.hasNext()或sc.hasNextLine()来检查更多数据?输入数据是否具有EOF字符?

此外,这个问题可能有所帮助:Java Scanner won't "finish" reading input