Java进程获取结果
我目前正在进行语音识别项目,我想根据用户的语音命令访问某些密钥。例如,如果用户说“a”,我想打印a。我发现了一个cmd命令,可以执行此操作。此命令在命令提示符下工作正常,并返回一个作为输出的值。但是我想在我的java应用程序中使用它。我找到了一个可以获取命令输出并打印它的方法。但在这种情况下,它无法打印“a”。请帮助..这是代码片段Java进程获取结果,java,Java,我目前正在进行语音识别项目,我想根据用户的语音命令访问某些密钥。例如,如果用户说“a”,我想打印a。我发现了一个cmd命令,可以执行此操作。此命令在命令提示符下工作正常,并返回一个作为输出的值。但是我想在我的java应用程序中使用它。我找到了一个可以获取命令输出并打印它的方法。但在这种情况下,它无法打印“a”。请帮助..这是代码片段 public void Voice() throws IOException { Process p; String work = "cmd /c ni
public void Voice() throws IOException {
Process p;
String work = "cmd /c nircmd.exe sendkey a press"; // used nircmd utility
p = Runtime.getRuntime().exec(work);
String output="";
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((output = reader.readLine()) !=null) {
System.out.println(output);
}
reader.close();
}
从Java运行Windows命令
cmd
时,请记住,您的工作目录是项目目录或运行Java
的目录。因此,从您描述的症状来看,当您从java运行nircmd
实用程序时,似乎找不到它。尝试提供exe的完整路径
替换
String work=“cmd/c nircmd.exe sendkey a press”代码>
与
String work=“cmd/c”c:\\your path\\nircmd.exe sendkey a press”;
进程运行正常,但没有返回输出“a”。因为nircmd实用程序位于Windows文件夹中。因此它首先扫描Windows文件夹,不需要提供完整路径。。。。