gpt4 book ai didi

java - 如何使用 Runtime exec 从 Java 代码调用 Java 类

转载 作者:行者123 更新时间:2023-12-02 11:06:34 24 4
gpt4 key购买 nike

我想知道是否有办法从另一个Java类调用Java类。我使用运行时 exec 实现了如下测试代码,从“exec.java”调用“test.java”,但 exec 调用不会执行。代码中有什么问题?谢谢。

测试.java:

package com.example.exec;

public class test{

public static void main(String args[]) {
System.out.println("Hello World!");
}
}

exec.java:

package com.example.exec;

public class exec {

public static void main(String args[]) {
try {
Process pro = Runtime.getRuntime().exec("java test");
} catch (Exception err) {
System.out.println("Error!");
}
}
}

最佳答案

如果您想使用 Runtime.exec 运行任意 java 类,则需要有效的 java 命令并中继任何输出:

$ cat com/example/exec/exec.java
package com.example.exec;

public class exec {
public static void main(String args[]) {
try {
Process pro = Runtime.getRuntime().exec("java com.example.exec.test");
byte[] buffer = new byte[65536];
int length;
while((length = pro.getInputStream().read(buffer, 0, buffer.length)) != -1) {
System.out.write(buffer, 0, length);
}
} catch (Exception err) {
System.out.println("Error!");
err.printStackTrace();
}
}
}

这只能由 IDE、构建工具和类似工具使用。同一程序中的 Java 类不应使用 Runtime.exec 来相互调用或通信。

关于java - 如何使用 Runtime exec 从 Java 代码调用 Java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31416947/

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