我正在尝试在 Raspbian rc.local 中运行 Java 控制台应用程序。
它是基于键盘输入选择菜单项的引导菜单。如果在命令提示符下运行,程序运行良好。
但是,当在 rc.local 中启动 java 控制台应用程序时
java -jar /home/pi/RaspPiStartup/RaspPiStartup.jar
应用程序无法读取键盘输入。
Scanner in = new Scanner(System.in);
Console con=System.console();
AtomicInteger num=new AtomicInteger(-1);
Thread thread = new Thread() {
public void run() {
try {
int i1;
if (con==null) {
System.out.println("KeyScan In");
i1=in.nextInt();
System.out.println("KeyScan "+i1);
}
else {
System.out.println("KeyCon In");
i1=Integer.parseInt(con.readLine());
System.out.println("KeyCon "+i1);
}
num.set(i1 );
}
catch(Exception e) {
System.out.println("Fehler Keyboard In"+e.toString());
}
}
};
thread.start();
如您所见,我尝试了几种方法。这个解决方案给了我一个例外。由于 rc.local 中的 con == null,扫描仪会尝试读取。从而导致 java.util.NoSuchElementException。
我需要做什么才能读取 rc.local 中的键盘输入?谢谢...