代码在命令提示符下运行但不在eclipse中运行

时间:2013-04-13 09:07:45

标签: java command-prompt bufferedreader readline runtime.exec

下面给出的代码是我尝试在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 = "";
       }

1 个答案:

答案 0 :(得分:1)

一定是因为你没有设置eclipse默认路径所以尝试根据你的需求设置eclipse默认路径