728x90
반응형
질문 : Java에서 명령 줄 인수를 어떻게 구문 분석합니까?
Java에서 명령 줄 인수를 구문 분석하는 좋은 방법은 무엇입니까?
답변
다음을 확인하십시오.
또는 자신의 롤 :
예를 들어 commons-cli
를 사용하여 2 개의 문자열 인수를 구문 분석하는 방법입니다.
import org.apache.commons.cli.*;
public class Main {
public static void main(String[] args) throws Exception {
Options options = new Options();
Option input = new Option("i", "input", true, "input file path");
input.setRequired(true);
options.addOption(input);
Option output = new Option("o", "output", true, "output file");
output.setRequired(true);
options.addOption(output);
CommandLineParser parser = new DefaultParser();
HelpFormatter formatter = new HelpFormatter();
CommandLine cmd = null;//not a good practice, it serves it purpose
try {
cmd = parser.parse(options, args);
} catch (ParseException e) {
System.out.println(e.getMessage());
formatter.printHelp("utility-name", options);
System.exit(1);
}
String inputFilePath = cmd.getOptionValue("input");
String outputFilePath = cmd.getOptionValue("output");
System.out.println(inputFilePath);
System.out.println(outputFilePath);
}
}
명령 줄에서 사용 :
$> java -jar target/my-utility.jar -i asd
Missing required option: o
usage: utility-name
-i,--input <arg> input file path
-o,--output <arg> output file
출처 : https://stackoverflow.com/questions/367706/how-do-i-parse-command-line-arguments-in-java
728x90
반응형
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
Java가 정적 메서드 재정의를 허용하지 않는 이유 (0) | 2021.10.13 |
---|---|
Java는 "참조에 의한 전달" 일까? "값에 의한 전달" 일까? (0) | 2021.10.13 |
Java에서 public, protected, package-private, private의 차이점 (0) | 2021.10.05 |
volatile 키워드는 어디에 사용할 수 있을까? (0) | 2021.10.01 |
JavaScript 배열을 쉼표로 구분 된 목록으로 바꾸는 쉬운 방법 (0) | 2021.10.01 |