내 홈 디렉토리 아래의 ~ 12 개의 디렉토리 또는 파일을 삭제하는 Java 프로그램을 작성하려고합니다. 나는 Java에서 Linux "cd"명령을 실행하는 방법은 무엇입니까?
Process proc = Runtime.getRuntime().exec("rm -rf *path*")
를 사용하여이 작업을 수행 할 수 있어요하지만이 명령 12 시간을 실행해야 아니면 제가 루프를 유지할 수 있습니다. 필자가 정말로 원하는 것은 홈 디렉토리에있는 모든 디렉토리와 파일의 이름이 들어있는 파일을 가지고있는 것입니다. 내 Java 프로그램은 홈 디렉토리로 이동하여 파일을 읽고 지정된 모든 파일을 삭제해야합니다.
는 I은 첫 단계에서 막혔어요 - 나는 홈 디렉토리에 CD 할 수 없습니다입니다. 제가 어떻게 이것을 할 수 있는지 알려주십시오.
모든 답장을 보내 주셔서 감사합니다.
는하지만, 여기 정말 오히려 내가 리눅스 내 자바 클래스에서 명령을 실행할 수있는 사용 방법을 배우고 싶은 자바 폴더의 유틸리티 클래스를 사용하지 않습니다. 배치 인턴이므로 고객을위한 새로운 환경을 배치하기 전에 매번 환경을 재설정해야합니다. 이를 위해 몇 가지 기본 Linux 명령을 반복적으로 사용합니다. 이 작업을 수행하기 위해 쉘 스크립트를 작성할 수 있지만 이번에는이 모든 Linux 명령을 넣고 하나의 클래스에서 실행할 수있는 Java 클래스를 작성하려고합니다. 내가 사용하는
명령은 다음과 같습니다
- 만 관리자에 의해 시작되는 모든 자바 프로세스를 종료 -이를 위해 내가
- 모두 12 디렉토리를 제거 여러 리눅스는 "파이프"로 명령을 사용할 필요가 이를 위해 나는 등, 일부 데이터베이스 스크립트
- 실행을 특정 디렉토리 아래에 가서 또는 ./stop_ns을 ./shutdown.sh 실행해야합니다 -/홈 디렉토리의 파일은
- (시벨 등 같은) 일부 서비스를 중지 - 데이터베이스 스키마를 재설정하려면
- 다시 서비스를 시작 - 내가 ./start_ns을 실행하기 위해 필요한이 시간을 제외하고 2 단계와 같은 등
당신이 날 을 알릴 수 있다면 정말 감사드립니다. Java 코드 을 사용하여 디렉토리로 이동하는 방법은 무엇입니까? b. 어떻게 여러 리눅스는 자바 코드
당신이 ['File.delete'] 사용하지 않는 이유 (http://download.oracle.com/javase/6/를 docs/api/java/io/File.html # delete())을 사용하는 것이 좋습니다. (해야) –
제 편집 된 게시물을 확인하십시오. 나는 내가해야 할 일을 정확히 언급했다. – Jodi
Jodi, 다음 중 하나를 권 해드립니다. a) 쉘 스크립트를 작성하여이 작업을 수행하십시오 (사용자가 원하지 않는 이유는 무엇입니까?), 매우 쉽게 수행해야합니다. 2) [Jon Skeet] (http://stackoverflow.com/a/7715879/1075247) sugests와 같이 java에서이를 수행 할 Java 프로그램을 작성하십시오. * 매우 * 당신이 큰 자바 프로그램의 일부로 실행되는 미리 작성된 쉘 스크립트의 일부가 아닌 한, 항아리에서 쉘 명령을 실행할 필요가 거의 없습니다 (그렇지 않으면 쉘 스크립트 만 작성하십시오!). 그래서 .jar에서 쉘 명령을 실행하는 이유는 무엇입니까? – Pureferret