2011-05-03 53 views
3

我正在执行一个下面的程序,它通过java调用shell,我得到excepton请帮助我。Java IOException

程序:

import java.io.*; 
import java.util.*; 


public class ProcessExample { 

/** 
* @param args 
*/ 
public static void main(String args[]) throws IOException { 

     File file=new File("/opt/nilesh/fazal"); 


     ProcessBuilder processBuilder = new ProcessBuilder("./LicenseGen.sh --batchfile commands.txt"); 
     processBuilder.directory(file); 
     processBuilder.redirectErrorStream(true); 
     System.out.println("nilesh"); 
     Process process=processBuilder.start();  

     InputStream is = process.getInputStream(); 
     InputStreamReader isr = new InputStreamReader(is); 
     BufferedReader br = new BufferedReader(isr); 

     String line; 

     System.out.printf("Output of running %s is:", 
      Arrays.toString(args)); 

     while ((line = br.readLine()) != null) { 
     System.out.println(line); 
     } 

     OutputStream os=process.getOutputStream(); 
     OutputStreamWriter osw=new OutputStreamWriter(os); 
     BufferedWriter bw=new BufferedWriter(osw); 
     bw.write("create licensekey -x license-input.xml"); 

     while ((line = br.readLine()) != null) { 
     System.out.println(line); 
     } 

    } 

}

和异常

Excepton:Exception in thread "main" java.io.IOException: Cannot run program "./LicenseGen.sh --batchfile commands.tx": java.io.IOException: error=2, No such file or directory 
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459) 
at ProcessExample.main(ProcessExample.java:23) 
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory 
at java.lang.UNIXProcess.<init>(UNIXProcess.java:148) 
at java.lang.ProcessImpl.start(ProcessImpl.java:65) 
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452) 
... 1 more 
+0

不要写新的问题。只是在同一个问题上讨论你的主题:http://stackoverflow.com/questions/5855768/to-run-shell-script-through-java – 2011-05-03 05:45:09

+0

感谢兄弟的工作 – 2011-05-03 06:05:43

回答