낭만 프로그래머
apache.commons.exec 라이브러리 사용하기 본문
apache.commons.exec : 외부 실행 파일을 간편하게 실행하게 해주는 라이브러리
1. 라이브러리 다운로드
1.1. https://commons.apache.org/proper/commons-exec/ 접속하여 Download 클릭
1.2. commons-exec.1.3.bin.zip 클릭하여 다운로드
2. 예제
2.1. 아크로뱃을 실행
String line = "AcroRd32.exe /p /h " + file.getAbsolutePath(); CommandLine cmdLine = CommandLine.parse(line); DefaultExecutor executor = new DefaultExecutor(); executor.setExitValue(1); int exitValue = executor.execute(cmdLine); |
2.2. Watchdog 이용
String line = "AcroRd32.exe /p /h \"" + file.getAbsolutePath() + "\""; CommandLine cmdLine = CommandLine.parse(line); DefaultExecutor executor = new DefaultExecutor(); executor.setExitValue(1); ExecuteWatchdog watchdog = new ExecuteWatchdog(60000); executor.setWatchdog(watchdog); int exitValue = executor.execute(cmdLine); |
2.3. CommandLine Build 이용
Map map = new HashMap(); map.put("file", new File("invoice.pdf")); CommandLine cmdLine = new CommandLine("AcroRd32.exe"); cmdLine.addArgument("/p"); cmdLine.addArgument("/h"); cmdLine.addArgument("${file}"); cmdLine.setSubstitutionMap(map); DefaultExecutor executor = new DefaultExecutor(); executor.setExitValue(1); ExecuteWatchdog watchdog = new ExecuteWatchdog(60000); executor.setWatchdog(watchdog); int exitValue = executor.execute(cmdLine); |
2.4. 비동기적으로 실행
CommandLine cmdLine = new CommandLine("AcroRd32.exe"); cmdLine.addArgument("/p"); cmdLine.addArgument("/h"); cmdLine.addArgument("${file}"); HashMap map = new HashMap(); map.put("file", new File("invoice.pdf")); commandLine.setSubstitutionMap(map); DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler(); ExecuteWatchdog watchdog = new ExecuteWatchdog(60*1000); Executor executor = new DefaultExecutor(); executor.setExitValue(1); executor.setWatchdog(watchdog); executor.execute(cmdLine, resultHandler); // some time later the result handler callback was invoked so we // can safely request the exit value int exitValue = resultHandler.waitFor(); |
'Java > Common' 카테고리의 다른 글
Java 간단한 암호화 복호화 (0) | 2018.11.08 |
---|---|
Java8 에서 MS Access 하는 JDBC 사용 (0) | 2018.02.01 |
org.apache.commons.lang3 의 StringEscapeUtils를 사용하여 Xml, Java, Javascript, Json 으로 문법형태로 문자열 변환하기 (0) | 2017.04.06 |
Java POI를 이용한 Big Data Export (0) | 2017.04.06 |
'최신상태가 아니므로 Java(TM)이 차단되었습니다' 메세지 해결방법 (0) | 2016.07.28 |