Java에서 셸 명령 실행: 세부 가이드
Java에서는 Runtime.exec() 메서드를 사용하여 시스템 명령을 실행할 수 있습니다. 그러나 명령 실행 방법을 이해하는 것은 어려울 수 있습니다.
명령 프롬프트 열기
올바르게 제공한 코드는 명령 프롬프트를 엽니다.
Runtime rt = Runtime.getRuntime(); rt.exec(new String[]{"cmd.exe","/c","start"});
새 명령 프롬프트 창이 열립니다.
실행 중 명령
명령 프롬프트 내에서 명령을 실행하려면 명령을 실행하기 전에 명령줄에 명령을 추가하면 됩니다. 예를 들어 디렉터리를 변경하고 특정 명령을 실행하려면:
디렉터리 변경
// Change directory and run "dir" command ProcessBuilder builder = new ProcessBuilder( "cmd.exe", "/c", "cd \"C:\Program Files\Flowella\" && dir");
위의 명령줄은 cmd.exe에 다음 명령을 순서대로 실행하도록 지시합니다. :
다른 명령 실행
명령을 수정하여 모든 명령을 실행할 수 있습니다. "cd" 다음 줄. 예를 들어, "ping" 명령을 실행하려면:
ProcessBuilder builder = new ProcessBuilder( "cmd.exe", "/c", "cd \"C:\Program Files\Flowella\" && ping www.google.com");
ProcessBuilder 사용
ProcessBuilder 클래스는 명령을 실행하는 보다 다양한 방법을 제공합니다. 이를 통해 다음을 수행할 수 있습니다.
위의 예에서는 프로세스의 표준 오류를 표준 출력으로 리디렉션하여 읽기를 단순화했습니다.
사용 예
다음 코드는 지정된 디렉터리에서 "dir" 명령을 실행합니다.
import java.io.*; public class CmdCommand { public static void main(String[] args) throws Exception { String dir = "C:\Program Files\Flowella"; ProcessBuilder builder = new ProcessBuilder( "cmd.exe", "/c", "cd \"" + dir + "\" && dir"); builder.redirectErrorStream(true); Process p = builder.start(); BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream())); String line; while (true) { line = r.readLine(); if (line == null) { break; } System.out.println(line); } } }
이 코드는 현재 디렉터리를 "C:Program FilesFlowella"로 복사하고 "dir" 명령을 실행하여 콘솔에 출력을 인쇄합니다.
위 내용은 Java 프로그램 내에서 쉘 명령을 어떻게 실행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!