在Eclipse里创建console对象不成功,程序代码段如下:import java.io.Console;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class RegexTestHarness {
public static void main(String[] args) {
Console console = System.console();
if(console == null){
System.err.println("No console!");
System.exit(1);
}
//若干其他代码
}
}我确信本程序代码没有其他问题,但编译运行结果总是“No console”是什么原因?
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class RegexTestHarness {
public static void main(String[] args) {
Console console = System.console();
if(console == null){
System.err.println("No console!");
System.exit(1);
}
//若干其他代码
}
}我确信本程序代码没有其他问题,但编译运行结果总是“No console”是什么原因?
虚拟机是否具有控制台取决于底层平台,还取决于调用虚拟机的方式。如果虚拟机从一个交互式命令行开始启动,且没有重定向标准输入和输出流,那么其控制台将存在,并且通常连接到键盘并从虚拟机启动的地方显示。如果虚拟机是自动启动的(例如,由后台作业调度程序启动),那么它通常没有控制台。 如果此虚拟机具有控制台,那么它将由此类唯一的实例(可通过调用 System.console() 方法获得)表示。如果没有可用的控制台设备,那么对该方法的调用将返回 null。
要先在命令行下切换到你那个类的当前路径
然后以javac -d . RegexTestHarness.java
运行用java 包名.RegexTestHarness
楼主再试试