0

我在使用 Console 类读取用户输入时遇到问题。

readLine方法读取每个键入的输入,直到键入新行,然后它实际读取稍后返回的输入(在第二次键入新行之后)。

我想知道这是否与输入缓冲有关。我试图在 Console 对象中写入一个新的行号:

cons.writer ().println (System.getProperty ("line.separator"));

在尝试阅读之前,但它没有帮助。

我使用 Console 类是因为它的readPassword方法(我有同样的问题)。

Console cons = System.console();
username = String(cons.readLine(format, message));
password = String(cons.readPassword(format, message));

我还必须补充一点,这段代码循环运行,直到用户名和密码都可以。

在除第一次之外的每次迭代中,此代码都可以正常工作。

4

1 回答 1

0

你是对的。readLine()读取一行,并以换行符终止行,并readLine()阻塞直到它得到换行符或 EOS。如果您不想要这种行为,请不要调用readLine().

于 2012-07-09T09:56:02.450 回答