import java.io.*;
import java.lang.*;class RuntimeTest
{
public static void main(String [] arg)
{
try
{
java.lang.Runtime r=Runtime.getRuntime();
System.out.println(r.toString());
String str="";
str="/usr/bin/nkf -e -d -O C:\\Documents and Settings\\anyone";
str+="\\Local Settings\\Temp\\RQ1038c3d6420_WEB.sjis C:\\Documents and ";
str+="Settings\\anyone\\Local Settings\\Temp\\RQ1038c3d6421_WEB";
System.out.println(str);
//str="/usr/bin/nkf -e -d -O f:\\aa";
java.lang.Process p=r.exec(str);
}catch(Exception e)
{
e.printStackTrace();
}
}
}
上面代码为什么执行java.lang.Process p=r.exec(str);这句会错呀
能给我讲讲Runtime,Process类的用法吗?

解决方案 »

  1.   

    Runtime.getRuntime()返回当前应用程序的Runtime对象,该对象的exec()方法指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对应的Process对象实例。通过Process可以控制该子进程的执行或获取该子进程的信息。
      

  2.   

    ses127127:请问我上面RQ1038c3d6421_WEB这个就应该是一个可执行程序吗
      

  3.   

    例子:class RuntimeTest
    {
    public static void main(String [] arg)
    {
    try
    {
    java.lang.Runtime r=Runtime.getRuntime();
    java.lang.Process p=r.exec("c:\\Program Files\\Microsoft Office\\OFFICE11\\winword.exe xxx.doc ");

    }catch(Exception e)
    {
    e.printStackTrace();
    }
    }
    }
      

  4.   

    java.lang.Process p=r.exec(str);
    前加上:
    str = "cmd /c " + str; //(window)
    应该可以运行了。
    刚学,盼高手!