'Command'에 해당되는 글 1건

  1. 2020.10.27 [JAVA] command 실행 샘플 로직

프로젝트를 진행하다보면 가끔 cmd 명령을 날리는 로직이 필요할때가 있다. 

대부분 운영 환경은 리눅스일것이고

개발환경(로컬)은 윈도우일 것이다.

오늘은 java 환경에서 cmd 명령을 날리는 샘플 로직을 만들어 보겠다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//1.실행할 명령어 배열 변수에 담기
 
String param1 = "test1.xml";
String param2 = "test2.xml";
String param3 = "test3.xml";
 
//cmd 명령창에서 python test1.xml test2.xml test3.xml  명령을 실행하는것과 똑같다.
String[] cmdArrayWindow = {"python",param1,param2,param3};
 
//리눅스일 경우 해당 명령어 실행(윈도우와 리눅스를 구분해야 할 경우)
String[] cmdArrayLinux = {"python3",param1,param2,param3};
 
String firstLine = null;
 
//시스템이 윈도우인지 리눅스 인지 판단
if(System.getProperty("os.name").indexOf("Windows")>-1{
    Process p = Runtime.getRuntime().exec(cmdArrayWindow);
BufferReader br = new BufferedReader(new InputStreamReader(p.getInputStream(),"euc-kr"));
 
firstLine = br.readLine();
 
}else{
    Process p = Runtime.getRuntime().exec(cmdArrayLinux);
BufferReader br = new BufferedReader(new InputStreamReader(p.getInputStream(),"euc-kr"));
firstLine = br.readLine();
}
 
System.out.prinln(firstLine);
cs
 
 
 

윈도우와 리눅스 환경을 구분하여 수행되는 명령어를 분기를 나눴다.

그리고 명령어 수행된후 리턴되는 값은 

한줄이라는 가정하에 한번만 읽어들여 String 변수값에 넣어 줬다. 

만약 리턴되는 값이 여러줄이라면 마지막

firstLine 변수에 집어 넣는 로직을 조금 수정해주면 되겠다.

 

이 포스팅이 도움이 되셨다면 좋아요 한번눌러주세요.^^;

 

Posted by by.타니
,