下面给出的代码是我尝试在eclipse中运行的代码,当我尝试通过命令提示符运行命令时,它返回stdInput.readLine()
为null,它成功运行我做错了什么?
public class Recognize {
public String Recog(String name)
{ try {
String command="java -cp .;C:\\mywork\\Speaker\\marf-0.3.0-devel-20070108-fat.jar SpeakerIdentApp --ident C:\\mywork\\Speaker\\testing-samples\\"+name+".wav";
Process proc = Runtime.getRuntime().exec(command);
BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
name = "";
String s ;
System.out.println(stdInput.readLine());
// read the output from the command
// System.out.println("Here is the standard output of the command:\n");
while ((s=stdInput.readLine()) != null){
// System.out.println(s);
String recog = s;
// System.out.println(recog);
String ex = stdInput.readLine();
// System.out.println(ex);
String sb = stdInput.readLine();
// System.out.println(sb);
if ( recog.equalsIgnoreCase(ex))
{//System.out.println("ACCESS GRANTED");
name = recog;
// System.out.print(recog);
}
else if (ex.equalsIgnoreCase(sb))
{//System.out.println("ACCESS GRANTED");
name = ex;
// System.out.println(ex);
}
else {//System.out.println("ACCESS DENIED");
name = "";
}
答案 0 :(得分:1)
一定是因为你没有设置eclipse默认路径所以尝试根据你的需求设置eclipse默认路径