2012-08-03 1 views
0

지정한 디렉토리의 .tar.gz 파일 목록을 원합니다. 이를 위해 Java에서 getRuntime.exec()을 사용하여 "ls directory_path/*.tar.gz"을 실행합니다. 하지만 그것은 어떤 출력을 제공하지 않고 오히려 No such file or directory .. 하지만 같은 명령이 명령 프롬프트에서 실행 중입니다. 유닉스에서 java를 실행 중입니다. 미리 감사드립니다.Java에서 getRuntime.exec()가 *를 인식합니까?

답변

1

이것은 exec이 프로그램을 실행하기 위해 쉘을 실행하지 않기 때문입니다. 그것은 단지 과정을 시작합니다. 유닉스 계열 시스템에서 셸은 와일드 카드를 파일 목록으로 확장합니다. 따라서 원하는 동작을 얻으려면 셸을 통해 ls을 실행해야합니다.

그러나 왜 ls을 사용합니까? This answer은 Java로 파일 목록을 가져 오는 방법을 보여줍니다.

+0

ok thanks.can plz는 좀 더 자세하게 설명하고 ls directorypath/*. tar.gz를 실행하는 방법을 설명합니다. – akhila

+0

확인. java를 사용하여 많은 unix 명령을 실행하고 싶습니다. 어떻게하면 자바를 사용하여 유닉스 명령을 실행할 수 있습니까? – akhila

+0

다른 프로그램을 실행하는 것처럼 실행하십시오. 이미'ls'로 해냈 잖아, 알아? – Joey

0

1. 당신은 exec()하지 명령 PROMT을 사용하여 프로세스를 발사 할 수있을 것입니다 .. 사용 후 디렉토리에있는 모든 파일의 이름을 얻을하고

2 더 나은 사용 list()FileFilter .tar.gz 파일을 가져와야합니다.

관련 문제