Heim >Java >javaLernprogramm >Wie kann man Befehlszeilenargumente in Java effektiv analysieren?

Wie kann man Befehlszeilenargumente in Java effektiv analysieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-23 01:14:10363Durchsuche

How to Effectively Parse Command Line Arguments in Java?

Befehlszeilenargumente in Java analysieren

Das Parsen von Befehlszeilenargumenten ist eine häufige Aufgabe bei der Arbeit mit Java-Anwendungen. Es gibt verschiedene Ansätze, um dies effektiv zu erreichen.

Bibliotheken zum Parsen

  • Apache Commons CLI: Diese Bibliothek bietet einen umfassenden Satz an Optionen zum Parsen von Befehlszeilenargumenten. einschließlich Unterstützung für erforderliche und optionale Flags, Argumentvalidierung und Fehler Handhabung.
  • JSAP: Der Java Simple Argument Parser (JSAP) bietet eine einfachere und leichtere Option zum Parsen von Argumenten. Es unterstützt sowohl benannte als auch Positionsargumente sowie die Gruppierung von Optionen.

Rollen Ihrer eigenen

Wenn Sie externe Bibliotheken lieber vermeiden möchten, können Sie Ihren eigenen Befehlszeilenargument-Parser verwenden Javas integrierte Klassen. Mit der Klasse java.util.Scanner können Sie Eingaben von der Befehlszeile lesen und in die entsprechenden Datentypen analysieren.

Beispiel: Strings mit Commons CLI analysieren

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);
    }
}

Verwendung:

$ 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

Das obige ist der detaillierte Inhalt vonWie kann man Befehlszeilenargumente in Java effektiv analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn