运行时执行输出
Runtime Exec output
我想执行另一个文件中存在的 class 方法。我正在执行以下操作:
import java.io.IOException;
public class run_java_program {
public static void main(String[] args) {
try {
Process process = Runtime.getRuntime().exec("java -cp C:\Users\96171\eclipse-workspace\IR_Project\src test");
} catch (IOException e) {
e.printStackTrace();
}
}
}
但它不起作用。但是在 cmd 上是:
我尝试用 C:/Users/96171/eclipse-workspace/IR_Project/src
替换 C:\Users\96171\eclipse-workspace\IR_Project\src
但仍然没有任何内容打印到控制台。
这是另一个程序:
//import py4j.GatewayServer;
public class test {
public static void addNumbers(int a, int b) {
System.out.print(a + b);
}
// public static void addNumbers(int a, int b) {
// System.out.print(a + b);
// }
public static void main(String[] args) {
// GatewayServer gatewayServer = new GatewayServer(new test());
// gatewayServer.start();
// System.out.println("Gateway Server Started");
test t = new test();
t.addNumbers(5, 6);
}
}
已执行程序 test
的输出流将成为您当前程序 run_java_program
的输入流。将您的代码更改为此并尝试:
import java.io.IOException;
public class run_java_program {
public static void main(String[] args) {
try {
Process process = Runtime.getRuntime().exec("java -cp C:\Users\96171\eclipse-workspace\IR_Project\src test");
java.util.Scanner s = new java.util.Scanner(process.getInputStream());
System.out.println(s.nextLine());
} catch (IOException e) {
e.printStackTrace();
}
}
}
据我所知,我只用了 Scanner
returns 一行。根据您的需要,您还可以使用 apache common utils。
我想执行另一个文件中存在的 class 方法。我正在执行以下操作:
import java.io.IOException;
public class run_java_program {
public static void main(String[] args) {
try {
Process process = Runtime.getRuntime().exec("java -cp C:\Users\96171\eclipse-workspace\IR_Project\src test");
} catch (IOException e) {
e.printStackTrace();
}
}
}
但它不起作用。但是在 cmd 上是:
我尝试用 C:/Users/96171/eclipse-workspace/IR_Project/src
替换 C:\Users\96171\eclipse-workspace\IR_Project\src
但仍然没有任何内容打印到控制台。
这是另一个程序:
//import py4j.GatewayServer;
public class test {
public static void addNumbers(int a, int b) {
System.out.print(a + b);
}
// public static void addNumbers(int a, int b) {
// System.out.print(a + b);
// }
public static void main(String[] args) {
// GatewayServer gatewayServer = new GatewayServer(new test());
// gatewayServer.start();
// System.out.println("Gateway Server Started");
test t = new test();
t.addNumbers(5, 6);
}
}
已执行程序 test
的输出流将成为您当前程序 run_java_program
的输入流。将您的代码更改为此并尝试:
import java.io.IOException;
public class run_java_program {
public static void main(String[] args) {
try {
Process process = Runtime.getRuntime().exec("java -cp C:\Users\96171\eclipse-workspace\IR_Project\src test");
java.util.Scanner s = new java.util.Scanner(process.getInputStream());
System.out.println(s.nextLine());
} catch (IOException e) {
e.printStackTrace();
}
}
}
据我所知,我只用了 Scanner
returns 一行。根据您的需要,您还可以使用 apache common utils。