Read and Write User Input in Java
上次更新:2024 年 1 月 8 日
1. 简介
在本快速教程中,我们将 演示几种在 Java 中使用控制台进行用户输入和输出的方法。
我们将了解 Scanner 类的一些方法,用于处理输入,然后我们将展示一些使用 System.out 的简单输出。
最后,我们将看到如何使用自 Java 6 起可用的 Console 类,用于控制台输入和输出。
2. 从 System.in 读取
对于我们的第一个示例,我们将 使用 Scanner 类,该类位于 java.util 包中,从 System.in 获取输入——“标准”输入流
Scanner scanner = new Scanner(System.in);
让我们 使用 nextLine() 方法读取一行输入作为 String,并移动到下一行
String nameSurname = scanner.nextLine();
我们还可以 使用 next() 方法从流中获取下一个输入标记
String gender = scanner.next();
如果我们需要数字输入,我们可以 使用 nextInt() 将下一个输入作为 int 原始类型获取,类似地,我们可以 使用 nextDouble() 获取一个类型为 double 的变量
int age = scanner.nextInt();
double height = scanner.nextDouble();
Scanner 类还提供 hasNext_Prefix() 方法,这些方法在下一个标记可以解释为相应的数据类型时返回 true。
例如,我们可以使用 hasNextInt() 方法来检查下一个标记是否可以解释为整数
while (scanner.hasNextInt()) {
int nmbr = scanner.nextInt();
//...
}
此外,我们可以使用 hasNext(Pattern pattern) 方法来 检查以下输入标记是否与模式匹配
if (scanner.hasNext(Pattern.compile("www.baeldung.com"))) {
//...
}
除了使用 Scanner 类之外,**我们还可以 使用一个 InputStreamReader 与 System.in 来从控制台获取输入**
BufferedReader buffReader = new BufferedReader(new InputStreamReader(System.in));
然后我们可以读取输入并将其解析为整数
int i = Integer.parseInt(buffReader.readLine());
3. 写入 System.out
对于控制台输出,我们可以使用 System.out —— PrintStream 类的一个实例,它是一种 OutputStream。
在我们的示例中,我们将使用控制台输出来为用户输入提供提示,并向用户显示最终消息。
让我们 使用 println() 方法打印一个 String 并终止该行
System.out.println("Please enter your name and surname: ");
或者,我们可以 使用 print() 方法,它的工作方式与 println() 类似,但不终止该行
System.out.print("Have a good");
System.out.print(" one!");
4. 使用 Console 类进行输入和输出
在 JDK 6 及更高版本中,我们可以使用来自 java.io 包的 Console 类从控制台读取和写入。
要获取一个 Console 对象,我们将调用 System.console()
Console console = System.console();
接下来,让我们使用 Console 类的 readLine() 方法来 将一行写入控制台,然后从控制台读取一行
String progLanguauge = console.readLine("Enter your favourite programming language: ");
如果我们需要读取敏感信息,例如密码,我们可以使用 readPassword() 方法来 提示用户输入密码并禁用回显从控制台读取密码
char[] pass = console.readPassword("To finish, enter password: ");
我们还可以 使用 Console 类将输出写入控制台,例如,使用 printf() 方法,并附带一个 String 参数
console.printf(progLanguauge + " is very interesting!");
5. 结论
在本文中,我们展示了如何使用几个 Java 类执行控制台用户输入和输出。
支持本文的代码可在 GitHub 上获取。 一旦你以 Baeldung Pro 会员 身份登录,就开始学习并在项目上进行编码。















