>Java >java지도 시간 >Java에서 명령줄 인수를 효과적으로 구문 분석하는 방법은 무엇입니까?

Java에서 명령줄 인수를 효과적으로 구문 분석하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-23 01:14:10430검색

How to Effectively Parse Command Line Arguments in Java?

Java에서 명령줄 인수 구문 분석

명령줄 인수 구문 분석은 Java 애플리케이션 작업 시 일반적인 작업입니다. 이를 효과적으로 수행하기 위한 다양한 접근 방식이 있습니다.

구문 분석용 라이브러리

  • Apache Commons CLI: 이 라이브러리는 명령줄 인수를 구문 분석하기 위한 포괄적인 옵션 세트를 제공합니다. 필수 및 선택적 플래그, 인수 유효성 검사 및 오류에 대한 지원을 포함합니다.
  • JSAP: JSAP(Java Simple Argument Parser)는 인수 구문 분석을 위한 더 간단하고 가벼운 옵션을 제공합니다. 옵션 그룹화는 물론 명명된 인수와 위치 인수를 모두 지원합니다.

직접 롤링

외부 라이브러리를 사용하지 않으려면 다음을 사용하여 고유한 명령줄 인수 파서를 롤링할 수 있습니다. Java의 내장 클래스. java.util.Scanner 클래스를 사용하면 명령줄에서 입력을 읽고 이를 적절한 데이터 유형으로 구문 분석할 수 있습니다.

예: Commons CLI를 사용하여 문자열 구문 분석

import org.apache.commons.cli.*;

public class Main {

    public static void main(String[] args) throws Exception {

        // Define command line options
        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);

        // Parse command line arguments
        CommandLineParser parser = new DefaultParser();
        CommandLine cmd = null; // Bad practice, only for demonstration purposes
        try {
            cmd = parser.parse(options, args);
        } catch (ParseException e) {
            System.out.println(e.getMessage());
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("utility-name", options);
            System.exit(1);
        }

        // Retrieve parsed values
        String inputFilePath = cmd.getOptionValue("input");
        String outputFilePath = cmd.getOptionValue("output");

        // Use the parsed arguments
        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

위 내용은 Java에서 명령줄 인수를 효과적으로 구문 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.