아래의 Java 코드는 Unix (AIX와 Linux 모두)에서 실행되지만 작동하지 않습니다. 이 코드를 실행하면 q1.01 파일이 압축되지 않고 예외가 발생하지 않습니다 (q1.01 파일이 있고 명령을 실행 한 후 q1.01.Z 파일을 찾으려고합니다). "which compress"라고 입력하면 명령 프롬프트가 "/ usr/bin/compress"와 함께 다시보고됩니다. Unix 프롬프트에서 "/ usr/bin/compress q1.01"명령을 입력하면 올바르게 작동합니다. 무엇이 잘못 되었을지에 대한 아이디어가 있습니까?Unix에서 Java exec
String cmd = "/usr/bin/compress q1.01";
Runtime.getRuntime().exec(cmd);
Java가 아닌 셸을 통해 명령을 실행할 때 파일이 압축됩니까? – jimyi
Java가 프로그램 디렉토리에서 q1.01을 찾고있을 수 있습니다. 파일에 대한 전체 파일 경로를 제공하려고 시도 했습니까? 또한 시스템에서 압축 된 파일을 찾을 수 있는지 확인하십시오. –
아마도 exec()가 반환 한 Process 개체에서 stdout/stderr 스트림을 읽을 수 있습니다. 그게 효과가없는 이유를 알 수 있습니다. –