企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Java – 读取控制台输入 > 原文: [https://howtodoinjava.com/java/io/java-io-how-to-read-input-from-console/](https://howtodoinjava.com/java/io/java-io-how-to-read-input-from-console/) 这是一个快速参考代码示例,可使用 Java IO 从控制台读取输入。 这主要是为我的初学者准备的,因此,如果您已经知道它,请随时跳过。 ```java Table of contents 1) Read console input using java.io.Console instance 2) Read console input using BufferedReader instance 3) Read console input using Scanner instance ``` 让我们直接跳至示例代码。 1)使用`java.io.Console`实例读取控制台输入 ```java private static void usingConsoleReader() { Console console = null; String inputString = null; try { // creates a console object console = System.console(); // if console is not null if (console != null) { // read line from the user input inputString = console.readLine("Name: "); // prints System.out.println("Name entered : " + inputString); } } catch (Exception ex) { ex.printStackTrace(); } } ``` 2)使用`BufferedReader`实例读取控制台输入 ```java private static void usingBufferedReader() { System.out.println("Name: "); try{ BufferedReader bufferRead = new BufferedReader(new InputStreamReader(System.in)); String inputString = bufferRead.readLine(); System.out.println("Name entered : " + inputString); } catch(IOException ex) { ex.printStackTrace(); } } ``` 3)使用扫描器实例读取控制台输入 ```java private static void usingScanner() { System.out.println("Name: "); Scanner scanIn = new Scanner(System.in); String inputString = scanIn.nextLine(); scanIn.close(); System.out.println("Name entered : " + inputString); } ``` ## 所有 3 个示例的完整代码 ```java import java.io.BufferedReader; import java.io.Console; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class ConsoleInputExamples { public static void main(String[] args) { usingConsoleReader(); usingBufferedReader(); usingScanner(); } private static void usingConsoleReader() { Console console = null; String inputString = null; try { // creates a console object console = System.console(); // if console is not null if (console != null) { // read line from the user input inputString = console.readLine("Name: "); // prints System.out.println("Name entered : " + inputString); } } catch (Exception ex) { ex.printStackTrace(); } } private static void usingBufferedReader() { System.out.println("Name: "); try{ BufferedReader bufferRead = new BufferedReader(new InputStreamReader(System.in)); String inputString = bufferRead.readLine(); System.out.println("Name entered : " + inputString); } catch(IOException ex) { ex.printStackTrace(); } } private static void usingScanner() { System.out.println("Name: "); Scanner scanIn = new Scanner(System.in); String inputString = scanIn.nextLine(); scanIn.close(); System.out.println("Name entered : " + inputString); } } ``` > 最重要的是,这三种技术同样有效,但是我个人喜欢`java.io.Console`方式。 它只是使代码更具可读性。 您有什么选择? **祝您学习愉快!**