一尘不染

Java:如何从System.console()获取输入

java

我正在尝试使用Console类从用户获取输入,但是在调用时返回空对象System.console()。使用System.console之前我是否需要更改任何内容?

Console co=System.console();
System.out.println(co);
try{
    String s=co.readLine();
}

阅读 1273

收藏
2020-03-01

共1个答案

一尘不染

使用控制台读取输入(仅在IDE外部可用):

System.out.print("Enter something:");
String input = System.console().readLine();

另一种方法(适用于所有地方):

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Test {
    public static void main(String[] args) throws IOException { 
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Enter String");
        String s = br.readLine();
        System.out.print("Enter Integer:");
        try {
            int i = Integer.parseInt(br.readLine());
        } catch(NumberFormatException nfe) {
            System.err.println("Invalid Format!");
        }
    }
}
System.console()在IDE中返回null。

因此,如果你真的需要使用System.console()

2020-03-01