Java 어플리케이션 실행 시, Argument 사용법과, 더 나아가 옵션을 정의하고 받아온 옵션을 출력하는 간단한 예제입니다. .jar파일로 묶여있는 Applet 실행 시에도 사용가능하며, .exe로 컴파일된 실행파일에서도 사용이 가능합니다.



1. Java Argument


Java Application은  main메소드의 인자값으로 String타입의 배열형태로 받도록 되어있습니다.  아래 예제는 Java실행 시, argument를 출력해주는 예제입니다.



 public class ArgumentExample {

 

        public static void main(String[] args) {

 

               if(args!=null)

               {

                       for(int i=0; i<args.length; i++)

                       {

                              System.out.println("args["+i+"]="+args[i]);

                       }

               }

        }

}



| 이클립스에서 실행시



| 결과화면



| Console에서 실행 시





2. Java실행 시 옵션 만들기


Java Application 실행 시 옵션을 넣는 예제입니다. GNU라이센스를 따르며, Googling을 통해 얻은 소스를 바탕으로, 샘플링 한 예제입니다.


import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

 

import jargs.gnu.CmdLineParser;

import jargs.gnu.CmdLineParser.Option;

 

 

public class CmdLineParserExample {

 

               private List<String> optionHelpStrings = new ArrayList<String>();

       

               public static void main(String[] args) {

                       CmdLineParserExample main = new CmdLineParserExample();

                       CmdLineParser parser = new CmdLineParser();

                      

                       // Define Option Help

                       CmdLineParser.Option host = main.addHelp(parser.addStringOption('o', "output"), "This is option test.");

       

                       try {

                              parser.parse(args);

                             

                              System.out.println(parser.getOptionValue(host));

                             

                       } catch (CmdLineParser.OptionException e) {

                              System.err.println(e.getMessage());

                              main.printUsage();

                              System.exit(2);

                       }

               }

       

               private Option addHelp(Option option, String helpString) {

                       optionHelpStrings.add(" -" + option.shortForm() + ", --" + option.longForm() + ": " + helpString);

                       return option;

               }

              

               private void printUsage() {

                System.err.println("usage: CmdLineParser Example [options]");

                for (Iterator<String> i = optionHelpStrings.iterator(); i.hasNext(); ) {

                       System.err.println(i.next());

                }

            } 

}

[소스코드]  CmdLineParser.zip

[Reference] CmdLineParser Reference

[출처] Googling


| 이클립스에서 실행시



| 결과화면



| Console에서 실행 시



* 참고 : How to parse command line arguments in Java

'JAVA > Java Core' 카테고리의 다른 글

[JavaCore] 파일복사 및 이동  (0) 2015.02.02
[JavaCore] 파일생성  (0) 2014.10.24
[JavaCore] 텍스트파일 한글 읽어들이기  (0) 2014.10.24
[JavaCore] 시간구하기  (0) 2014.10.23
AND