자바 코드에서 "java -version"이라는 기본 명령을 실행하려고합니다. 내 코드 등 내 코드 "ls"의 예에서 쉘 명령은 "에코 $ 경로"작동합니다Java 코드에서 유닉스 터미널의 외부 도구를 실행하는 방법은 무엇입니까?
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");
}
}
}
코드는 예외 또는 오류없이 작동하지만 출력이되지 않습니다.
문자열 명령 = "ls"인 경우 코드가 작동하고 콘솔에서 출력을 볼 수 있습니다.
도구의 전체 경로를 지정하면 유용하고 효과적입니다. 고맙습니다. – hcakmak
어쨌든 적어도 오류 스트림 출력을 가져와야합니다. 오류 경로를 제외하고 잘못된 경로를 제외하고 다른 오류가 있으면 정보가 없습니다. – eis
ps. 이 답변으로 문제가 해결되었다고 생각되면 답변을 수락 된 것으로 표시하십시오. – eis