gpt4 book ai didi

java - 如何从java代码在unix终端中执行外部工具?

转载 作者:太空宇宙 更新时间:2023-11-04 08:04:14 25 4
gpt4 key购买 nike

我尝试在java代码中执行一个基本命令,即“java -version”。我的代码适用于 shell 命令,例如“ls”、“echo $PATH”等。我的代码:

import java.io.*;

public class cmd {
public static void main(String[] args) {

String command = "java -version";
Process proc = null;
try {
proc = Runtime.getRuntime().exec(command);
} catch (IOException e1) {
System.out.println( "IOException 1" );
}

BufferedInputStream buffer = new BufferedInputStream( proc.getInputStream() );
BufferedReader commandOutput= new BufferedReader( new InputStreamReader( buffer ) );
String line = null;
try {
while ( ( line = commandOutput.readLine() ) != null ) {
System.out.println( line );
}
commandOutput.close();
} catch ( IOException e) {
System.out.println( "IOException 2" );
}
}
}

代码工作正常,没有异常或错误,但没有输出。

如果 String command = "ls",则代码可以运行并且可以在控制台中看到输出。

最佳答案

检查.getErrorStream().getOutputStream()您拥有的 Process 对象。您可能会看到一条错误消息,告诉您需要指定 java 可执行文件的完整路径才能正常工作。但是,如果原因不同,您在输出上述流的内容时也应该看到这一点。

关于java - 如何从java代码在unix终端中执行外部工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12338891/

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