В Java есть несколько способов принять аргумент с командной строки во время работы приложения:
1. Использование массива String[] args
в методе main()
:
public class Main { public static void main(String[] args) { // Ваш код здесь } }
Аргументы, переданные в командной строке, будут автоматически сохранены в массиве args
.
2. Использование класса Scanner
:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Введите аргумент:"); String arg = scanner.next(); // Ваш код здесь } }
В данном случае программа будет ждать, пока пользователь введет аргумент в командной строке, и затем сохранит его в переменную arg
.
3. Использование класса BufferedReader
:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Введите аргумент:"); try { String arg = reader.readLine(); // Ваш код здесь } catch (IOException e) { e.printStackTrace(); } } }
Таким образом, программа будет ждать, пока пользователь введет аргумент в командной строке, и затем сохранит его в переменную arg
.
4. Использование библиотеки Apache Commons CLI:
Apache Commons CLI предоставляет более гибкую и мощную функциональность для работы с аргументами командной строки. Чтобы использовать эту библиотеку, вы должны добавить зависимость в ваш проект:
<dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>1.4</version> </dependency>
Пример использования Options
и CommandLineParser
:
import org.apache.commons.cli.*; public class Main { public static void main(String[] args) { Options options = new Options(); options.addOption("arg", true, "Описание аргумента"); CommandLineParser parser = new DefaultParser(); try { CommandLine cmd = parser.parse(options, args); String arg = cmd.getOptionValue("arg"); // Ваш код здесь } catch (ParseException e) { e.printStackTrace(); } } }
В данном примере мы добавляем опцию -arg
, которая может принимать значение. Затем мы парсим аргументы командной строки и получаем значение опции -arg
.