将值从一个java程序传递到另一个java程序

时间:2011-10-17 21:58:33

标签: java

我写了一个java程序,它可以在运行时执行另一个java程序。该计划如下

import java.io.*;
public class exec
{
public static void main(String argv[])
{

int i=5,j=6,k=7;
BufferedReader rd = new BufferedReader (new InputStreamReader(System.in));    
try{
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
System.out.println("Enter class name");
String s=br.readLine();

Process pro=Runtime.getRuntime().exec(s);

BufferedReader in=new BufferedReader(new InputStreamReader(pro.getInputStream()));
String line=null;
while((line=in.readLine())!=null)
{
System.out.println(line);
}
in.close();
}
catch(Exception err)
{
err.printStackTrace();
}
}
}

如果我执行此程序,它将提示用户输入要执行的任何类名(java程序)。这是使用这段代码Process pro=Runtime.getRuntime().exec(s);

完成的

一旦用户输入java类名,我应该能够将值5,6,7传递给用户输入的java类。一次只能传递一个值,并应计算该数字的平方。 我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

您可以将int参数传递给第二个Java程序,如下所示:

String[] cmd = { s, Integer.toString(n) };
Process pro=Runtime.getRuntime().exec(cmd);

...或单个String

Process pro=Runtime.getRuntime().exec(String.format("%s %d", s, n);

答案 1 :(得分:1)

在第二个程序中,您可以实现一个服务器套接字,然后在第一个程序中,您可以编写一个客户端套接字,将消息发送到第二个应用程序。

您可以看到以下文档:http://download.oracle.com/javase/tutorial/networking/sockets/