Аргументи командного рядка

Програма ByteReader зберігає імя файлу abcgif прямо в своєму коді, або, як кажуть програмісти, імя файлу жорстко зашито (На сленгу захардкодіровано) У програму Це означає, що для отримання схожою програми, яка б зчитувала файл xyzgif, потрібно було б змінити код і перекомпілювати його, що не дуже зручно Було б набагато краще передавати імя файлу в командному рядку, при запуску программиЛюбую Java-програму можна запустити з аргументами командного рядка, наприклад: java ByteReader xyzgif

Тут методу main () передається всього один аргумент – xyzgif Есліпомніте, у методу main () є аргумент: public static void main(String[] args) {…}

Так, це масив елементів типу String, який JVM передає вглавний метод Якщо запустити програму без аргументів, цей масив

залишиться порожнім Інакше, масив буде мати стільки елементів, скільки аргументів командного рядка було передано программеДавайте подивимося, як ці аргументи командного рядка можна використати в дуже простому класі, який просто виведе їх на екран:public class TestArguments {

public static void main(String[] args) {

/ / Скільки отримано аргументів

int numberOfArgs = argslength

for (int i=0 i&ltnumberOfArgs i++){

Systemoutprintln(&quotI’ve got &quot + args[i])

}

}

}

На наступному скріншоті показано, що станеться, якщо запустити програму з двома аргументами – xyzgif і 250 JVM помістить значення xyzgif в елемент args [0], а другий аргумент потрапить в args [1]

завжди передаються в програму як рядки (String) Програма самостійно повинна конвертувати дані у відповідний формат, наприклад:int myScore = IntegerparseInt (args [1]) Раджу перевіряти, чи правильне число аргументів передано в командному рядку Робіть це прямо на початку методу main () Якщо кількість аргументів не відповідає очікуваному, то програма повинна видати коротке повідомлення про це і негайно закінчити роботу, використовуючи спеціальний метод Systemexit ():public static void main(String[] args) {

if (argslength = 2){

Systemoutprintln(

“Будь ласка, передайте параметри, наприклад:) Systemoutprintln (java TestArguments xyzgif 250)

/ / Вихід з програми

Systemexit(0)

}

}

Наприкінці цієї глави вам належить написати програму для копіювання файлів Для того, щоб програма працювала з будь-якими файлами, імена вихідного і кінцевого файлів повинні будуть передаватися в програму через аргументи командного строкіВ Eclipse, для цілей тестування, теж можна вказувати аргументи командного рядка для всіх запускаються У вікніRun Configurations, Виберіть закладку з написом (x) = Arguments і введіть необхідні аргументи на поле Program Arguments

ПолеVM  argumentsдозволяє вказати аргументи для JVM Це дозволить, наприклад, запросити більше памяті для виконання програми, налаштувати саму JVM, і тд У розділі Матеріали для додаткового читання є посилання на сайт з більш докладним описом

Джерело: Java Programming for Kids, Parents and Grandparents by Yakov Fain

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*