Java Can';在Raspberry Pi上运行Netbeans远程平台时,无法读取控制台输入

Java Can';在Raspberry Pi上运行Netbeans远程平台时,无法读取控制台输入,java,netbeans-8,Java,Netbeans 8,我正在尝试使用控制台输入作为GUI编写一个简单的java应用程序 主要方法如下: 公共静态void main(字符串[]args){ 我的问题是,在Raspberry Pi(最终目标)“input=br.readLine();”上运行它似乎不起作用 该应用程序的目的是通过给出适当的命令来操作GPIO。无法在Raspberry Pi上调试会使开发变得单调乏味 使用Netbeans和Java 有人能帮忙吗 //lg好的,那么第一个问题,当你说“不起作用”时,确切的结果是什么?比如,它只是跳过了整个过

我正在尝试使用控制台输入作为GUI编写一个简单的java应用程序

主要方法如下: 公共静态void main(字符串[]args){

我的问题是,在Raspberry Pi(最终目标)“input=br.readLine();”上运行它似乎不起作用

该应用程序的目的是通过给出适当的命令来操作GPIO。无法在Raspberry Pi上调试会使开发变得单调乏味

使用Netbeans和Java

有人能帮忙吗


//lg

好的,那么第一个问题,当你说“不起作用”时,确切的结果是什么?比如,它只是跳过了整个过程,还是在输入端阻塞了,而你永远都无法通过它?Netbeans中的输出窗口,其中的“输入内容”显示文本,既不回显键盘上的字符,也不让程序通过“br.redline()”命令。你能试着从命令行运行吗?我不使用Netbeans,所以不能说它是否允许像那样从IDE中使用STDIN。如果我用ssh登录到Raspberry,并执行cd'/home/pi/NetBeansProjects//CommandLine';'/home/pi/jre//bin/java'-Dfile.encoding=UTF-8-jar/home/pi/NetBeansProjects//CommandLine/dist/CommandLine.jarGram工作正常。上面的命令与Netbeans在启动远程调试会话时发送给Raspberry的命令相同。因此,这告诉我,Netbeans很可能不允许从其调试器中使用STDIN。一种解决方案是使用remove debugging(名为)运行它,这将允许您远程连接Netbeans调试器到rPI进程(或者,到本地运行但不直接在Netbeans中运行的进程)。您甚至可以使用jdwp指定一个标志,告诉它在应用程序启动时中断,这样您就可以从启动或程序连接远程调试器。好的,第一个问题,当您说“不工作”时,确切的结果是什么?比如,它只是跳过了整个过程,还是在输入时阻塞了,而您永远无法通过它?Netbeans中的输出窗口显示了“输入内容”文本,既不回显键盘上的字符,也不象程序通过了“br.redline()。你能试着从命令行运行吗?我不使用Netbeans,所以不能说它是否允许像那样从IDE中使用STDIN。如果我用ssh登录到Raspberry,并执行cd'/home/pi/NetBeansProjects//CommandLine';'/home/pi/jre//bin/java'-Dfile.encoding=UTF-8-jar/home/pi/NetBeansProjects//CommandLine/dist/CommandLine.jarGram工作正常。上面的命令与Netbeans在启动远程调试会话时发送给Raspberry的命令相同。因此,这告诉我,Netbeans很可能不允许从其调试器中使用STDIN。一种解决方案是使用remove debugging(名为)运行它,这将允许您远程连接Netbeans调试器到rPI进程(或者,到本地运行但不直接在Netbeans中运行的进程)。您甚至可以使用jdwp指定一个标志,告诉它在应用程序启动时中断,以便从启动或程序连接远程调试器。
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    String input = "";

    while (input.compareToIgnoreCase("Exit")!= 0) {
        System.out.print("Enter something:");
        try {
            input = br.readLine();

            String[] arguments =  input.split("\\s+");

            parse(arguments);

        } catch (IOException ex) {
            Logger.getLogger(CB1TestApplication.class.getName()).log(Level.SEVERE, null, ex);
        }
    }         
}