현재 드라이브를 마운트하고 tar.gz 파일을 추출하는 웹 응용 프로그램을 Java로 작성하고 있습니다. 응용 프로그램은 리눅스 환경에서 실행되기 때문에 "mount"및 "tar"와 같은 유닉스 명령을 사용하려고합니다.Java에서 파일 마운트 및 untar 화
Runtime runtime = Runtime.getRuntime();
Process proc;
String mountCommand = "mount -t cifs -o username=...";
String extractCommand = "tar xzf ..."
proc = runtime.exec(mountCommand);
proc.waitFor();
proc = runtime.exec(extractCommand);
proc.waitFor();
터미널에서 mount 명령과 extract 명령을 실행해도 문제가 없지만 FIRST를 java에서 실행할 때 실패합니다. 두 번째 proc.waitFor()는 종료 코드 2를 반환합니다. 그러나 첫 번째 실패한 시도 후에이 코드를 실행하면 정상적으로 작동합니다. 문제는 마운트 명령이 완전히 완료 될 때까지 waitFor()가 기다리지 않는다는 느낌입니다. 내 코드에서 중요한 것이 빠졌습니까?
또한 Java에서는이 모든 작업을 수행하지만 파일을 압축 해제하는 방법을 파악하는 데는 어려움이 있으므로이 방법을 사용하고 있습니다. (오, 누구든지이 일을하는 방법을 말해 준다면 나는 아주 행복 할거야.) 어떤 제안이라도 muuuuuuuuuuu는 인정 될 것이다!
그래, 어떻게 가야할 것 같아서, 나는 그것을 사용했을 때 추출 된 파일에 마지막으로 수정 한 날짜를 보존하는 방법을 알아낼 수 없었다. – Matthew