Как мне разобрать аргументы командной строки в Java?

this является ссылкой на текущий объект. Он используется в конструкторе для различения локальной и текущей переменных класса, имеющих одно и то же имя. например ::

public class circle {
    int x;
    circle(int x){
        this.x =x;
        //class variable =local variable 
    }
} 

this также может использоваться для вызова одного конструктора из другого конструктора. например:

public class circle {
    int x;

    circle() { 
        this(1);
    }

    circle(int x) {
        this.x = x; 
    }
}
528
задан Remko Popma 7 September 2018 в 01:06
поделиться

9 ответов

Проверьте их:

Или самокрутка:


Например, это - то, как Вы используете 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;

        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
369
ответ дан Samuel Liew 7 September 2018 в 01:06
поделиться

Если Вы знакомы с гну getopt, существует порт Java в: http://www.urbanophile.com/arenn/hacking/download.htm .

, кажется, существуют некоторые классы, которые делают это:

5
ответ дан Peter Mortensen 7 September 2018 в 01:06
поделиться

Возможно, эти

7
ответ дан Remko Popma 7 September 2018 в 01:06
поделиться

Yeap.

я думаю, что Вы ищете что-то вроде этого: http://commons.apache.org/cli

библиотека Apache Commons CLI обеспечивает API для обработки интерфейсов командной строки.

8
ответ дан OscarRyz 7 September 2018 в 01:06
поделиться

Смотрите на проект Commons CLI, много хорошего материала там.

8
ответ дан Marc Novakowski 7 September 2018 в 01:06
поделиться

Кто-то указал на меня на args4j в последнее время, который является базирующейся аннотацией. Мне действительно нравится он!

20
ответ дан Duncan Jones 7 September 2018 в 01:06
поделиться

Я использовал JOpt и нашел его довольно удобным: http://jopt-simple.sourceforge.net/

первая полоса также предоставляет список приблизительно 8 дополнительных библиотек, проверьте их и выберите того что большинство исков Ваши потребности.

22
ответ дан GaryF 7 September 2018 в 01:06
поделиться

Вы могли бы найти эту метастатью несчастья интересной как стартовая точка:

http://furiouspurpose.blogspot.com/2008/07/command-line-parsing-libraries-for-java.html

6
ответ дан Alex Miller 7 September 2018 в 01:06
поделиться

Взгляните на более свежий JCommander .

Я создал это. Я буду рад получить вопросы или пожелания.

302
ответ дан 22 November 2019 в 22:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: