Использование аргументов командной строки в приложении Java

Аргументы командной строки могут быть способом указания свойств конфигурации для приложения, и Java не исключение. Вместо того, чтобы щелкать значок приложения в операционной системе, вы можете запустить приложение Java из окна терминала. Наряду с именем приложения может следовать ряд аргументов, которые затем передаются в начальную точку приложения (то есть в основной метод в случае Java).

Например, NetBeans имеет ряд параметров запуска, которые можно передать приложению, когда оно запускается из окна терминала (например,

указывает версия JDK, которая будет использоваться вместо JDK по умолчанию, связанного с приложением NetBeans).

Основной метод

Давайте рассмотрим основной метод, чтобы увидеть, где появляются аргументы, переданные приложению:

Аргументы командной строки можно найти в

с именем

Например, давайте рассмотрим приложение с именем

, единственное действие которого – распечатать переданные ему аргументы командной строки:

 public class CommandLineArgs {

data -type = “code”>

 public static void main (String [] a  rgs) {
//проверяем, пуст ли массив String
if (args.length == 0)
{
System.out.println ( «Не было передано никаких аргументов командной строки!»);
}

data-type = “code”>

//Для каждой строки в  Строковый массив 
//распечатать строку.
for (String argument: args)
{
System.out.println (argument);
}
}
}

data-type=”code”>

Синтаксис аргументов командной строки

Java Runtime Engine (JRE) ожидает, что аргументы будут передаваться в соответствии с определенным синтаксисом, например:

 java ProgramName value1 value2 

data-type = “code”>

Выше “java” вызывает JRE, за которой следует имя программы, которую вы вызываете. За ними следуют любые аргументы программы. Нет ограничений на количество аргументов, которые программа может принять, но порядок имеет решающее значение. JRE передает аргументы в том порядке, в котором они появляются в командной строке. Например, рассмотрим этот фрагмент кода сверху:

 public class CommandLineArgs2 {

data-type = “code”>

 public static void main (String [] args) {
if (args.length == 0)
{
System.out.println («Не переданы аргументы командной строки!»);
}

data-type = “code”>

Когда аргументы передаются в В программе Java args [0] – это первый элемент массива (значение1 выше), args [1] – второй элемент (значение2) и так далее. Код args.length () определяет длину массива.

Передача аргументов командной строки

В NetBeans мы можем передавать аргументы командной строки без необходимости создавать приложение и запускать это из окна терминала. Чтобы указать аргументы командной строки:

  1. Щелкните правой кнопкой мыши папку проекта в
     Projects 
  2. Выберите параметр
     Свойства 

    , чтобы открыть окно

     Свойства проекта 

    .

  3. В списке
     Категории 

    справа выберите

    Run
  4. In В появившемся текстовом поле
     Arguments 

    укажите аргументы командной строки, которые вы хотите передать приложению. Например, если мы введем

     Apple Banana Carrot 

    в текстовое поле

     Arguments 

    и запустим программу

     CommandLineArgs 

    , указанную выше, мы будем получить вывод:

Анализ аргументов командной строки

Обычно аргумент командной строки передается с некоторая информация о том, что делать с переданным значением. Аргумент, информирующий приложение о том, для чего предназначен аргумент, обычно имеет дефис или два перед его именем. Например, пример NetBeans для параметра запуска, указывающего путь JDK:

Это означает, что вам необходимо проанализировать аргументы командной строки, чтобы выяснить, что делать со значениями. Существует несколько платформ командной строки Java для анализа аргументов командной строки. Или вы можете написать простой синтаксический анализатор командной строки, если аргументов, которые вам нужно передать, не так много:

Приведенный выше код либо печатает аргументы, либо добавляет их вместе, если они целые. Например, этот аргумент командной строки добавит числа:

 java CommandLineArgs -addnumbers 11 22 33 44 

data-type = “code”>

Оцените статью
recture.ru
Добавить комментарий