Java의 명령줄 구문 분석

Haider Ali 2023년10월12일
Java의 명령줄 구문 분석

이 문서에서는 Java에서 명령줄 구문 분석을 실행하는 방법을 소개합니다.

Java의 명령줄 구문 분석

때로는 Java 프로그램을 실행하기 위해 프로그램을 실행하기 전에 몇 가지 기본 입력이 필요합니다. 일반적으로 이러한 입력은 명령줄 인수로 제공됩니다. Java에서 명령줄 인수는 main() 함수 내부의 String[] args에 저장됩니다.

터미널/명령 프롬프트에서 인수를 수락하려면 Java 프로그램에서 옵션을 정의해야 합니다. 전달하는 모든 명령줄 인수는 옵션에 저장해야 합니다. 아래 코드 예제에서 생성된 두 가지 옵션은 복사 및 붙여넣기 현상을 의미합니다. 설명을 참조하십시오.

import org.apache.commons.cli.*;
public class Main {
  public static void main(String[] args) throws Exception {
    Options options = new Options(); // Options Arguments which are Acceptable By Program.
    Option source = new Option("s", "source", true, "source file path");
    source.setRequired(true);
    options.addOption(source);
    Option destination = new Option("d", "Destination", true, "Destination file Path");
    destination.setRequired(true);
    options.addOption(destination);

    CommandLineParser parser = new BasicParser();
    // use to read Command Line Arguments
    HelpFormatter formatter = new HelpFormatter(); // // Use to Format
    CommandLine cmd = null;

    try {
      cmd = parser.parse(
          options, args); // it will parse according to the options and parse option value
    } catch (ParseException e) {
      System.out.println(e.getMessage());
      formatter.printHelp("utility-name", options);

      System.exit(1);
    }

    String argument1 = cmd.getOptionValue("source");
    String argument2 = cmd.getOptionValue("Destination");

    System.out.println(argument1);
    System.out.println(argument2);
  }
}

위의 프로그램에서 생성된 두 가지 옵션이 있습니다. 하나는 소스이고 다른 하나는 대상입니다. 소스 옵션을 생성하는 동안 단기 인수를 s로 지정하고 소스 이름을 지정했습니다. s는 소스 인수의 값을 가져오는 명령입니다. 프로그램을 실행할 때 사용자는 -s를 명령 다음에 해당 값으로 사용해야 합니다. 아래의 출력을 참조하십시오. 또한 요구 사항을 true로 설정하고 설명을 소스 파일 경로로 제공했습니다. 나중에 옵션 내부에 이 소스 옵션 인수를 추가했습니다. 마찬가지로 옵션 대상에서 다른 값을 특징으로 하는 동일한 작업을 수행했습니다.

이 두 옵션을 구문 분석할 때 CommandLineParser 개체를 만들었습니다. HelpFormatter의 도움으로 예외를 표시해야 하는 경우 명령 인수의 형식을 지정했습니다.

try...catch 메소드 내에서 parse()를 사용하여 매개변수 옵션과 args를 분석합니다. 그런 다음 getOptionValue()를 사용하여 옵션 값을 얻고 괄호 안에 옵션 이름을 전달합니다.

우리는 단순히 값을 인쇄하고 있습니다. 반면에 이 접근 방식을 사용하여 다른 프로그램을 실행할 수 있습니다.

프로그램을 실행하려면 다음 명령을 사용해야 합니다.

javac
    - cp 'org.apache.commons.cli-1.2.0.jar' Main.java

          java
    - cp 'org.apache.commons.cli-1.2.0.jar' Main.java - s 'D://textfile.txt'
    - d 'D://DuplicatFolder//'

여기에서 -s-d는 명령입니다. 둘 다 각각의 값이 옵니다. 예를 들어, 위의 프로그램에서 s에 대한 소스 경로와 d에 대한 대상을 입력합니다.

위의 프로그램은 다음과 같은 출력을 제공합니다.

D : // textfile.txt
    D: // DuplicatFolder//
작가: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn