在网上搜了一下JAVA多进程的问题,结果出来的基本上全是同一篇文章,其中讲到的内容,好象有点小问题,如下:
/////////////////////网上原文/////////////////////////
在Java中我们可以使用两种方法来实现这种要求。最简单的方法就是通过Runtime中的exec方法执行java classname。如果执行成功,这个方法返回一个Process对象,如果执行失败,将抛出一个IOException错误。下面让我们来看一个简单的例子。
// Test1.java文件
import java.io.*;
public class Test
{
 public static void main(String[] args)
 {
  FileOutputStream fOut = new FileOutputStream("c:\\Test1.txt");
  fOut.close();
  System.out.println("被调用成功!");
 }
}// Test_Exec.java
public class Test_Exec
{
 public static void main(String[] args)
 {
  Runtime run = Runtime.getRuntime();
  Process p = run.exec("java test1"); 
 }
}
//////////////////////////////////////////////////////////////////我按照其说明,新建一工程,加入Test.java文件(原文中说Test1.java),执行成功!
import java.io.*;
public class Test
{
 public static void main(String[] args)
 {
  FileOutputStream fOut = new FileOutputStream("c:\\Test1.txt");
  fOut.close();
  System.out.println("被调用成功!");
 }
}再加入Test_Exec.java文件,代码如下,运行倒可以运行,但是C:\Test1.txt没有出现。
public class Test_Exec
{
 public static void main(String[] args)
 {
  Runtime run = Runtime.getRuntime();
  Process p = run.exec("java test1"); 
 }
}
该行感觉是不是有问题“Process p = run.exec("java test1")”,改成“Process p = run.exec("java Test")”后再运行,也没用。请高手指点一下,谢谢!

解决方案 »

  1.   

    首先java中多线程我听说的很多,多进程到没怎么听说过查了下资料
     run.exec(String cmd); 
    在单独的进程中执行指定的字符串命令,你的cmd应该是个合法的命令,比如java Test
    你要保证你在命令模式下能运行Test 才可以 
      

  2.   

    exec执行和你在命令行里面执行差不多的,你现在命令好里面执行一下看看是否能输出结果,如果可以了,就原封不动copy过来放到exec参数里面去