FAV-ZCU/KIV PPA1/11. Parametry příkazové řádky.md

2 KiB

Práce s parametry příkazové řádky (programu)

  • Mnoho programů je možné spustit s jedním či více parametry příkazové řádky (též parametry programu)
    • Např. většina programů pro práci s různými soubory (obrázky, videa, textové soubory) umožňuje zadat jako parametr soubor, který mají po spuštění otevřít

Zadání parametrů příkazové řádky

  • Parametry se zadávají při spuštění programu za příkaz, který program spouští
    • Parametrů může být více
    • Jednotlivé parametry jsou odděleny mezerou
    • java balík.Třída parametr1 parametr2 …
      • Např. java VypisParametruProgramu -v 128
  • Parametry s mezerou či mezerami
    • Pokud je parametrem řetězec, který obsahuje jednu nebo více mezer, je nutné parametr uzavřít do uvozovek (jinak by byl chápán jako více parametrů)
    • Např. java VypisParametruProgramu 128 "Program Files"

Předání parametrů příkazové řádky do programu

  • S parametry zadanými při spuštění programu lze jednoduše pracovat
  • Protože metoda main() je vstupní bod programu, jsou parametry příkazové řádky předány jako skutečný parametr této metody
    • Jsou dostupné ve formálním parametru args
    • Jedná se o pole řetězců
      • Řetězce mohou obsahovat libovolné znaky (tedy čísla, písmena, interpunkci, bílé znaky)
      • Jednotlivé parametry (řetězce) jsou v jednotlivých buňkách pole
      • Délka pole odpovídá počtu parametrů
      • Pokud je program spuštěn bez parametrů (tj. všechny dosud předvedené programy), je args pole délky 0 (nikoliv null)

Zpracování parametrů příkazové řádky

  • Parametry mohou mít libovolný význam, typicky se jedná o název souboru, přepínače či jiné (např. číselné) hodnoty
  • Parametry jsou však vždy předány jako řetězce
    • Pokud se jedná o čísla (sloužící k nějakému výpočtu), je potřeba převod z řetězce na číslo