В этом уроке мы будем обрабатывать аргументы командной строки на Java. Мы получим к ним доступ и прочитаем их, а также сопоставим аргументы с типами данных, чтобы изменить поток кода.
Вступление
Аргументы (параметры) командной строки-это строки текста, используемые для передачи дополнительной информации программе при запуске приложения через интерфейс командной строки (CLI) операционной системы.
В этом уроке мы будем обращаться к аргументам (параметрам), переданным в основной метод Java-приложения, и читать их. Мы также сопоставим их с различными типами данных, чтобы мы могли обрабатывать их и изменять поток кода на основе входных данных.
Доступ к Аргументам Командной Строки
Точкой входа для каждой программы Java является метод main() :
public static void main(String[] args) < // Do something >
Аргументы, переданные программе при ее инициализации, хранятся в массиве args . Кроме того, Java также поддерживает vararg в этом месте:
public static void main(String. args) < // Do something >
Тем не менее, мы можем легко получить доступ к каждому аргументу, переданному в этот метод. Давайте начнем с того, что распечатаем их один за другим:
[Java CodeReview] Анализ клиент-серверного кода. Где хранить список клиентов
public class Main < public static void main(String[] args) < for (int i = 0; i < args.length; i++) System.out.println(String.format(«Argument %d: %s», i, args[i])); >>
Затем мы скомпилируем этот файл .java :
javac Main.java
После чего мы сможем запустить его:
java Main Hello World
Argument 0: Hello Argument 1: World
Сопоставление аргументов с типами данных
Сами аргументы представляют собой массив строк. Так что на самом деле все, что мы передаем, – это Строка. Тем не менее, мы также можем конвертировать строки в различные типы данных:
java Main Hello 15 true
Argument 0: Hello Argument 1: 15 Argument 2: true
Допустим, мы хотели разрешить пользователям печатать строку заданное количество раз и установить флаг, который переключает сообщение журнала, отображающее номер итерации. Приведенные выше аргументы, таким образом, будут печатать Привет 15 раз, с сообщением журнала на каждом print() заявлении.
Давайте сделаем это:
public class Main < public static void main(String[] args) < String s = «»; int n = 0; boolean flag = false; try < s = args[0]; >catch (Exception e) < System.out.println(«The first argument must be present.»); System.exit(1); >try < n = Integer.parseInt(args[1]); >catch (NumberFormatException e) < System.out.println(«The second argument must be an integer.»); System.exit(1); >try < flag = Boolean.parseBoolean(args[2]); >catch (Exception e) < System.out.println(«The third argument must be parseable to boolean.»); System.exit(1); >for (int i = 0; i < n; i++) < System.out.println(s); if (flag) System.out.println(String.format(«Iteration %d», i)); >> >
Теперь давайте снова скомпилируем код:
Создание многопоточного клиент-серверного приложения на Java
javac Main.java
А затем давайте запустим его без каких-либо аргументов:
java Main
Git Essentials
Ознакомьтесь с этим практическим руководством по изучению Git, содержащим лучшие практики и принятые в отрасли стандарты. Прекратите гуглить команды Git и на самом деле изучите это!
Нас встречают с:
The first argument must be present.
Если мы приведем аргументы:
java Main Hello 5 true
Hello Iteration 0 Hello Iteration 1 Hello Iteration 2 Hello Iteration 3 Hello Iteration 4
Установка аргументов в IDE
Это предполагает, что вы запускаете код через командную строку, что не всегда так. Большинство людей используют IDE для работы над своими проектами, в которых вместо этого есть удобная кнопка “Запустить”.
К счастью, вы можете указать IDE передать эти аргументы в вызов run. Вот примеры того, как вы можете сделать это с помощью некоторых популярных идей:
Затмение
В разделе “Выполнить” -> “Конфигурации запуска” :
IntelliJ
В разделе “Выполнить” -> “Редактировать конфигурации” :
Вывод
В этой статье мы рассмотрели, как мы можем получить доступ к аргументам командной строки, передаваемым в приложение Java при его запуске.
Затем мы сопоставили переданные аргументы с различными типами данных и обработали их соответствующим образом. Имея это в виду, легко создавать простые инструменты CLI и изменять поток кода на основе переданных аргументов.
Читайте ещё по теме:
- Создание командной программы Java с picocli
- Инструменты командной строки для определения размера кучи Java
- Аргументы командной строки в Java
- Анализ параметров командной строки с помощью Commander
- Аргументы командной строки в Spring Boot
- Разбор параметров командной строки с авиакомпанией
- Выполнение команд оболочки с помощью Java
- Метки command, line, tutorial
Источник: javascopes.com
Использование аргументов командной строки
Иногда будет требоваться передать определенную информацию программе во время ее запуска. Для этого используют аргументы, командной строки метода main (). Аргумент командной строки — это информация, которую во время запуска программы задают в командной строке непосредственно после ее имени.
Доступ к аргументам командной строки внутри Java-программы не представляет сложности — они хранятся в виде строк в массиве String, переданного методу main (). Первый аргумент командной строки хранится в элементе массива args [0], второй — в элементе args [0] и т.д. Например, следующая программа отображает все аргументы командной строки, с которыми она вызывается.
// Отображение всех аргументов командной строки.
class CommandLine public static void main(String args[]) for(int i=0; Kargs.length; i++)
System.out.println(«args[» + i + «] : » + args[i]);
>
>
Попытайтесь выполнить эту программу, введя следующую строку:
Java CommandLine this is a test 100 -1
В результате отобразится следующий вывод:
args[0] this
args[1] is
args[2] a
args[3] test
args[4] 100
args[5] -1
Помните! Все аргументы командной строки передаются как строки. Численные значения нужно вручную преобразовать в их внутренние представления.
Источник: www.linkex.ru
Как изменить аргументы командной строки Java
В этом блоге мы обсудим, как изменить аргументы командной строки Java.
Введение
Как вы проверяете, что ваш код не содержит ошибок, работает во всех ситуациях и обрабатывает все пограничные случаи?
Что ж, более простой способ — это проверить его на всех возможных тестовых примерах, и этот диапазон тестовых случаев иногда может быть очень большим. В таких сценариях прохождение этих тестовых случаев может быть очень беспокойным и трудоемким. Нам нужен какой-то способ, который может сделать это легко, без особых хлопот и может быть автоматизирован для больших входных данных. Аргументы командной строки в Java — одна из таких вещей, которая решает нашу проблему и упрощает процесс тестирования и отладки.
В этой статье мы кратко обсудим, что такое аргументы командной строки, как они передаются и как они работают, но основное внимание будет уделено тому, как изменять аргументы командной строки Java.
Что такое аргументы командной строки?
Аргументы командной строки Java позволяют программистам передавать аргументы во время выполнения программы. Программисты могут передавать эти аргументы непосредственно из консоли, к которой будет обращаться метод main() и которые можно использовать в качестве входных данных. Мы также можем обойти аргументы командной строки, передав значения непосредственно методу main().
// здесь args будет содержать аргументы командной строки public static void main(String[] args) < System.out.println(«Привет, мир!»); // оставшийся код будет здесь >
Как работают аргументы командной строки?
Аргументы командной строки, которые предоставляются во время выполнения, упаковываются и передаются в args[]. Args[] по сути является массивом String, который содержит все переданные ему аргументы командной строки. Каждый аргумент будет храниться по индексу, начиная с args[0] и заканчивая args[n].
Как передать аргументы командной строки?
Аргументы командной строки передаются через командные строки или терминалы. Все переданные через него аргументы будут преобразованы в массив args[] внутри JVM.
Теперь давайте посмотрим, как передавать аргументы командной строки на примере.
Предположим, у нас есть файл с некоторым java-кодом:
Следующие шаги продемонстрируют, как передавать аргументы командной строки в java:
- Сохраните программу Java с расширением .java (например, Arguments.java).
- Откройте терминал / Командную строку в каталоге, где программа хранится локально.
- Скомпилируйте программу Java для преобразования файла .java в файл .class.
- Команда: javac имя_файла.java (здесь javac Arguments.java)
- Команда: java имя файла аргумент1 аргумент2 …. argumentsN ( здесь Аргументы java Добро пожаловать в этот блог и счастливого обучения )
Как получить доступ к аргументам командной строки?
Как обсуждалось в случае выше, давайте попробуем сейчас получить доступ ко всем переданным аргументам командной строки в java. Но как мы это делаем?
Поскольку эти аргументы хранятся в массиве args[], это означает, что мы можем легко получить к ним доступ, используя args[i], где i указывает индекс, который может варьироваться от 0 до n (общее количество переданных аргументов).
Ниже код демонстрирует то же самое:
Аргументы класса < public static void main( String[] args ) < System.out.println(«Привет, мир!»); // args.length используется для получения длины массива args System.out.println(» Общее количество аргументов: » + args.length); // итерация по массиву args для вывода аргументов, если они доступны for (int i = 0; i < args.length; i++) < System.out.println(«Аргумент» + i + «: » + args[i]); >> >
Выход:
Привет мир! Общее количество аргументов: 7 Аргумент 0: Добро пожаловать Аргумент 1: в Аргумент 2: это Аргумент 3: блог Аргумент 4: и Аргумент 5: Счастливый Аргумент 6: Обучение
Как изменить аргументы командной строки?
Опять же, мы можем использовать args[i] для получения значения по i-му индексу, а затем, используя оператор присваивания (=), мы можем изменить аргумент командной строки по i-му индексу.
Ниже фрагмент кода изменит некоторые аргументы, переданные через командную строку в java.
args[1] = «Измененный аргумент командной строки 1»; args[3] = «Измененный аргумент командной строки 2»; args[5] = «Измененный аргумент командной строки 3»;
Обновленный вывод:
Привет мир! Общее количество аргументов: 7 Аргумент 0: Добро пожаловать Arg 1: измененный аргумент командной строки 1 Аргумент 2: это Arg 3: измененный аргумент командной строки 2 Аргумент 4: и Arg 5: измененный аргумент командной строки 3 Аргумент 6: Обучение
В двух словах
- Аргументы командной строки Java — это способ ввода данных в программу через командную строку.
- Аргументы командной строки передаются при выполнении команды запуска, аргументы передаются сразу после имени файла, разделенные пробелами.
- Аргументы командной строки в конечном итоге принимаются массивом строк ( args[] ) в основной функции
- Мы можем получить доступ к аргументам командной строки или изменить их, используя args[i] и операторы присваивания, как мы это делаем в обычных языках программирования.
В этом блоге мы подробно обсудили аргументы командной строки Java и способы изменения аргументов командной строки Java.
Дальнейшее чтение:
Узнайте больше об аргументах командной строки Java в Scalar Topics.
Источник: habr.com