이 기사의 예에서는 java가 Linux 명령을 실행하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.
다음과 같이 코드 코드를 복사합니다.
공개 클래스 StreamGobbler는 Thread {를 확장합니다.
입력스트림은;
문자열 유형;
public StreamGobbler(InputStream은 문자열 유형) {
this.is = 입니다;
this.type = 유형;
}
공개 무효 실행() {
노력하다 {
InputStreamReader isr = 새로운 InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
문자열 라인 = null;
while ((line = br.readLine()) != null) {
if (type.equals("오류")) {
System.out.println("오류 :" + line);
} 또 다른 {
System.out.println("디버그:" + line);
}
}
} 잡기(IOException ioe) {
ioe.printStackTrace();
}
}
}
개인 무효 쉘(문자열 cmd)
{
String[] cmds = { "/bin/sh", "-c", cmd };
프로세스 프로세스;
노력하다
{
프로세스 = Runtime.getRuntime().exec(cmds);
StreamGobbler errorGobbler = new StreamGobbler(process.getErrorStream(), "Error");
StreamGobbler outputGobbler = new StreamGobbler(process.getInputStream(), "출력");
errorGobbler.start();
출력Gobbler.start();
노력하다
{
process.waitFor();
}
잡기(InterruptedException e)
{
e.printStackTrace();
}
}
잡기(IOException e)
{
e.printStackTrace();
}
}
cmd 매개변수는 Linux 명령입니다. 한 번에 하나의 명령만 실행할 수 있습니다.
1. Java Runtime.exec()에 대한 참고 사항:
① waitFor() 메서드를 호출하기 전에 항상 데이터 스트림을 읽습니다. ② 항상 표준 오류 스트림을 먼저 읽은 다음 표준 출력 스트림을 읽습니다.
2. 시스템 명령을 실행하는 가장 좋은 방법은 bat 파일이나 쉘 스크립트를 작성하는 것입니다.
이 글이 모든 사람의 Java 프로그래밍에 도움이 되기를 바랍니다.