Аргументы командной строки могут быть способом указания свойств конфигурации для приложения, и Java ничем не отличается. Вместо того, чтобы нажимать на значок приложения из операционной системы, вы можете запустить Джава приложение из окна терминала. Наряду с именем приложения может следовать ряд аргументов, которые затем передаются в начальную точку приложения (т. Е. Основной метод в случае Java).
Например, NetBeans имеет ряд параметров запуска, которые могут быть переданы приложению, когда оно запускается из окна терминала (например,
указывает версию JDK, которая будет использоваться вместо JDK по умолчанию, связанного с приложением NetBeans).
Основной метод
Давайте рассмотрим основной метод чтобы увидеть, где появляются аргументы, переданные приложению:
Аргументы командной строки можно найти в
называется
Например, давайте рассмотрим приложение под названием
единственное действие которого - распечатать аргументы командной строки, переданные ему:
открытый класс CommandLineArgs {
public static void main (String [] args) {
// проверяем, пустой ли массив String
if (args.length == 0)
{
System.out.println («Аргументы командной строки не переданы!»);
}
// Для каждой строки в массиве строк
// распечатать строку.
for (строковый аргумент: args)
{
System.out.println (аргумент);
}
}
}
Синтаксис аргументов командной строки
Java Runtime Engine (JRE) ожидает передачи аргументов в соответствии с определенным синтаксисом, например так:
Java ProgramName значение1 значение2
Выше «java» вызывает JRE, за которым следует имя программы, которую вы вызываете. За ними следуют любые аргументы программы. Количество аргументов, которые может принять программа, не ограничено, но порядок важен. JRE передает аргументы в порядке их появления в командной строке. Например, рассмотрим этот фрагмент кода сверху:
открытый класс CommandLineArgs2 {
public static void main (String [] args) {
if (args.length == 0)
{
System.out.println («Аргументы командной строки не переданы!»);
}
Когда аргументы передаются Java-программе, args [0] является первым элементом массива (значение 1 выше), args [1] является вторым элементом (значение 2) и т. Д. Код args.length () определяет длину массива.
Передача аргументов командной строки
В NetBeans мы можем передавать аргументы командной строки без необходимости создавать приложение и запускать его из окна терминала. Чтобы указать аргументы командной строки:
- Щелкните правой кнопкой мыши папку проекта в
проектов
окно. - Выбрать
свойства
возможность открытьСвойства проекта
окно. - в
категории
список с правой стороны, выберитеБегать
- в
аргументы
В появившемся текстовом поле укажите аргументы командной строки, которые вы хотите передать приложению. Например, если мы введемЯблочно-банановая морковь
варгументы
текстовое поле и запуститеCommandLineArgs
По программе, указанной выше, мы получим вывод:
Разбор аргументов командной строки
Как правило, аргумент командной строки передается с некоторой информацией о том, что делать с передаваемым значением. Аргумент, информирующий приложение, для чего предназначен аргумент, обычно имеет дефис или два перед своим именем. Например, пример NetBeans для параметра запуска, указывающего путь JDK:
Это означает, что вам нужно проанализировать аргументы командной строки, чтобы выяснить, что делать со значениями. Существует несколько сред командной строки Java для анализа аргументов командной строки. Или вы можете написать простой парсер командной строки, если аргументов, которые вам нужно передать, не так много:
код выше либо печатает аргументы, либо складывает их вместе, если они являются целыми числами. Например, этот аргумент командной строки добавил бы числа:
java CommandLineArgs -адднумс 11 22 33 44