Java system.in的BufferReader readline()方法挂起

Java system.in的BufferReader readline()方法挂起,java,Java,我正在eclipse中执行一个简单的java应用程序 示例代码: BufferedReader input = new BufferedReader( new InputStreamReader(System.in)); String line; while((line = input.readLine()) != null && line.length() != 0) { System.out.println("------"+line);

我正在eclipse中执行一个简单的java应用程序

示例代码:

 BufferedReader input = new BufferedReader( new InputStreamReader(System.in));
    String line;
    while((line = input.readLine()) != null && line.length() != 0) 
    {
    System.out.println("------"+line);
    }
在上面的代码中,readline()方法在读取输入的最后一行时挂起。 我已经通过一些线程,并了解到它等待线的结束。 我不想在控制台中输入的末尾给出任何'\n'或'\r'。
那么如何在代码中处理这个问题。

除非按enter键,否则代码如何知道何时不键入任何其他内容


这个问题没有解决办法。您需要重新思考您的用例。

请澄清问题。测试时,所有问题似乎都很好。预期输出与您得到的输出相比是多少?要退出循环,我只需按enter键而不键入任何内容。通常,您可以使用
Ctrl-D
发送一个EOF。