你的PATH中,设置了java.exe了吗?

解决方案 »

  1.   

    你应该用:
    String[] s = {"C:/WINNT/system32/cmd.exe","java.exe"}
    因为exec()方法中的第一个String[]是cmdArray!
      

  2.   

    给你个例子:
    import java.io.*;
    class runotherjavaapp 
    {
    public static void main(String[] args) 
    {
    String str=null;
    System.out.println("Start other app");
    try{
    Process p=Runtime.getRuntime().exec("java floattest");
    BufferedReader bufr=new BufferedReader(new InputStreamReader(p.getInputStream()));
    while((str=bufr.readLine())!=null)
    {
    System.out.println(str);
    }

    }catch(Exception e)
    {
    System.out.println(e);
    }
    }
    }
    //**********************
    class  floattest
    {
    public String a="aaa";
    public String getString()
    {
    return a;
    }
    public void printString()
    {
    System.out.println(a);
    }
    public static void main(String[] args)
    {
    System.out.println("END other APP");
    }
    }
      

  3.   

    试试这个吧!
    独家收藏(其实也是从别人那学来得)。 try
                  {String[] cmd = {"Notepad.exe","通讯录.txt"};
                   Runtime.getRuntime().exec(cmd);
                  }
                catch (IOException ee){}
      

  4.   

    还是不行呀!
    能不能给一个在第2个java程序中生成文件的例子。
    就是第一个java程序中调了第2个java程序,然后在第2个java程序中生成文件。
    谢谢!
      

  5.   

    我给你的怎么不看啊!?这不是两个JAVA APPLICATION吗?!
    给你个例子:
    import java.io.*;
    class runotherjavaapp 
    {
    public static void main(String[] args) 
    {
    String str=null;
    System.out.println("Start other app");
    try{
    Process p=Runtime.getRuntime().exec("java floattest");
    BufferedReader bufr=new BufferedReader(new InputStreamReader(p.getInputStream()));
    while((str=bufr.readLine())!=null)
    {
    System.out.println(str);
    }

    }catch(Exception e)
    {
    System.out.println(e);
    }
    }
    }
    //**********************
    class  floattest
    {
    public String a="aaa";
    public String getString()
    {
    return a;
    }
    public void printString()
    {
    System.out.println(a);
    }
    public static void main(String[] args)
    {
    System.out.println("END other APP");
    }
    }
      

  6.   

    我明白你的意思了,你试试这个:
    String[] s = {"C:/WINNT/system32/cmd.exe","java *"};
    其中的*就是你想运行的class程序。
      

  7.   

    我把你的第2个程序改成如下:
    import java.io.*;
    public class  floattest
    {        public floattest(){
              try{
                File file = new File("test.txt");
                BufferedWriter writer = new BufferedWriter(new FileWriter(file));
                writer.write("test");
                writer.close();
                }catch(IOException e){
                  System.out.println("write error");
                }
            }
    public String a="aaa";
    public String getString()
    {
    return a;
    }
    public void printString()
    {
    System.out.println(a);
    }
    public static void main(String[] args)
    {
    System.out.println("END other APP");
    }
    }可运行后根本没有生成test.txt文件!
      

  8.   

    sorry 上面的贴错了,是改成这样的:
    import java.io.*;
    public class  floattest
    {        public floattest(){
              try{
                File file = new File("test.txt");
                BufferedWriter writer = new BufferedWriter(new FileWriter(file));
                writer.write("test");
                writer.close();
                }catch(IOException e){
                  System.out.println("write error");
                }
            }
    public String a="aaa";
    public String getString()
    {
    return a;
    }
    public void printString()
    {
    System.out.println(a);
    }
    public static void main(String[] args)
    {
                    floattest test = new floattest();
    System.out.println("END other APP");
    }
    }
      

  9.   

    做了个批处理文件可以被调用,但是调用pro.destroy()后,为什么没有杀掉,
    而如果是notepad之类的程序就可以杀掉!