如何在java中以编程方式从另一个.java文件

时间:2016-04-17 16:18:23

标签: java

我的问题是我有一个.class文件(编译后的第一个servlet程序),它使用netbeans(apache tomcat作为服务器)编译,并有另一个.java文件(第二个servlet程序)。我删除了我的第一个servlet程序的.java文件并仅保留其.class文件。现在,我想要执行第一个servlet程序的.class文件,并将一些参数传递给我的.class文件(之后的第一个servlet程序)编译)。

我在互联网上搜索过很多东西。它显示使用反射或使用这样的东西:

Process theProcess = re.exec("java -cp C: /java/abc.class");

但我无法解决这个问题。

1 个答案:

答案 0 :(得分:0)

为了运行另一个程序,请尝试:

 ProcessBuilder builder = new ProcessBuilder("java", "SecondApplication"); //without .class suffix
 builder.directory(new File("C:\\Users\\etc")); //I don't know you're on linux or windows. Just go to where your "SecondApplication" is located.
 Process process = builder.start();

 OutputStream pIn = process.getOutputStream();
 InputStream pOut = process.getInputStream();

 BufferedReader reader = new BufferedReader(new InputStreamReader(pOut));
 BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(pIn));

现在您已经拥有了与第二个应用程序进行交互所需的一切。您可以使用writer写入其标准输入流,并使用reader读取其输出。