2012-01-03 118 views
1
// following code works fine n open notepad... 
class demo 
{ 
public static void main(String args[]) 
{ 
    try{ 
    ProcessBuilder pb=new ProcessBuilder("notepad"); 
    pb.start(); 
    }catch(Exception e) 
    {System.out.print(e);} 
} 
} 
//however the above code throws an exception when any other system program is executed 
class demo 
{ 
public static void main(String args[]) 
{ 
    try{ 
    ProcessBuilder pb=new ProcessBuilder("calculator"); 
    pb.start(); 
    }catch(Exception e) 
    {System.out.print(e);} 
} 
} 

上述程序抛出异常如下:麻烦的ProcessBuilder

java.io.IOException: Cannot run program "Calculator": CreateProcess error=2, The system cannot find the file specified 

回答

1

您应该包括完整路径可执行文件(包括目录和扩展名为.exe)。

实际上应该是从你得到了错误信息明显:-)

(原因"notepad"曾表示它将搜索%PATH%并尝试添加.exe如果必要的。这使我相信,"calc"也可能工作:-)

+0

是的它的工作:) – 2012-01-04 04:33:49