Maison >Java >javaDidacticiel >Comment analyser efficacement les arguments de ligne de commande en Java ?

Comment analyser efficacement les arguments de ligne de commande en Java ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-23 01:14:10423parcourir

How to Effectively Parse Command Line Arguments in Java?

Analyser les arguments de ligne de commande en Java

L'analyse des arguments de ligne de commande est une tâche courante lorsque l'on travaille avec des applications Java. Diverses approches existent pour y parvenir efficacement.

Bibliothèques d'analyse

  • Apache Commons CLI :Cette bibliothèque fournit un ensemble complet d'options pour analyser les arguments de ligne de commande, y compris la prise en charge des indicateurs obligatoires et facultatifs, la validation des arguments et les erreurs manipulation.
  • JSAP : Le Java Simple Argument Parser (JSAP) offre une option plus simple et plus légère pour analyser les arguments. Il prend en charge les arguments nommés et positionnels, ainsi que le regroupement d'options.

Lancer le vôtre

Si vous préférez éviter les bibliothèques externes, vous pouvez lancer votre propre analyseur d'arguments de ligne de commande en utilisant Les classes intégrées de Java. La classe java.util.Scanner vous permet de lire les entrées de la ligne de commande et de les analyser dans les types de données appropriés.

Exemple : analyse de chaînes avec 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);
    }
}

Utilisation :

$ 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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn