>Java >java지도 시간 >Java에서 시스템 명령을 실행하고 출력을 캡처하는 방법은 무엇입니까?

Java에서 시스템 명령을 실행하고 출력을 캡처하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-31 02:54:30848검색

How to Execute System Commands and Capture Output in Java?

Linux 및 BSD용 Java에서 시스템 명령 실행

소개

Java는 런타임 환경 내에서 시스템 명령을 실행하는 기능을 제공합니다. 이는 기본 운영 체제에서 다양한 작업을 수행하는 데 유용할 수 있습니다. 이 가이드에서는 Linux 및 BSD 시스템용 Java에서 시스템 명령을 실행하는 방법을 살펴보겠습니다.

문제

개발자는 Java 프로그램 및 저장소 내에서 uname -a 명령을 실행하려고 합니다. 문자열로 출력됩니다. 제공하는 코드 조각은 이 작업을 시도하지만 몇 가지 문제에 직면합니다.

해결 방법

Java에서 시스템 명령을 실행하려면 Runtime.exec() 메서드를 사용할 수 있습니다. 이 메소드는 실행될 명령을 인수로 문자열로 사용합니다. 명령이 실행되면 명령의 표준 출력 스트림에서 출력을 얻을 수 있습니다.

다음은 uname -a를 실행하고 출력을 문자열에 저장하는 방법의 예입니다.

<code class="java">Runtime r = Runtime.getRuntime();
Process p = r.exec("uname -a");
p.waitFor();
BufferedReader b = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";

while ((line = b.readLine()) != null) {
  System.out.println(line);
}

b.close();</code>

이 코드는 먼저 런타임 개체를 생성합니다. 그런 다음 런타임 개체의 exec() 메서드를 사용하여 uname -a 명령을 실행합니다. exec() 메서드는 실행 중인 프로세스를 나타내는 Process 개체를 반환합니다.

Process 개체의 입력 스트림을 읽어 명령의 출력을 얻을 수 있습니다. 코드 조각은 BufferedReader를 사용하여 출력을 한 줄씩 읽습니다. 그런 다음 데모용으로 출력이 콘솔에 인쇄됩니다.

이 접근 방식을 따르면 Java 내에서 유효한 시스템 명령을 실행하고 프로그램 논리에서 해당 출력을 활용할 수 있습니다.

위 내용은 Java에서 시스템 명령을 실행하고 출력을 캡처하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.