gpt4 book ai didi

java - 在另一个 java 文件中运行一个 java 文件并将其输出显示到控制台

转载 作者:行者123 更新时间:2023-11-29 07:10:44 24 4
gpt4 key购买 nike

我有一个 hello world 类 hworld.class,它在控制台上显示“Hello World”。我正在尝试使用代码从控制台中的另一个类运行它

 public class ftest2  
{
public static void main(String[] arg)
{
System.out.println("NEW FILE PRINT LINE EXECUTED");
try {
Process pro1 = Runtime.getRuntime().exec("javac hworld.java");
pro1.waitFor();
Process pro2 = Runtime.getRuntime().exec("java hworld");
pro2.waitFor();
} catch (Exception e) {
System.out.println("Some Error");
e.printStackTrace();
}
} }

但是执行文件时,Hello World的输出并没有显示在控制台上。
程序刚刚启动并显示

  NEW FILE PRINT LINE EXECUTED    

代替

  NEW FILE PRINT LINE EXECUTED    
HELLO WORLD

如何显示 HELLO WORLD 的输出。
(这是示例程序。我想在另一个程序中显示一个程序的输出)

如果有另一种方法可以在另一个类中调用一个类来显示它的输出。那么请提一下。

最佳答案

需要读入进程的InputStream,即

The stream obtains data piped from the standard output stream of the process represented by this Process object.

来源:http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Process.html#getInputStream ()

读取InputStream并写出到System.out:

    InputStream inputStream = process.getInputStream();
int b = -1;
while ( (b = inputStream.read()) != -1 ) {
System.out.write(b);
}

关于java - 在另一个 java 文件中运行一个 java 文件并将其输出显示到控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14091140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com