Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Java Runtime Exec Tutorial

Java Runtime trieda poskytuje prístup k runtime prostredie , v ktorom je aplikácia spustená . Metódy exec Runtime umožňujú spúšťať externé programy z Java aplikácie . Vykonávanie externých aplikácií v Java aplikácia umožňuje otvoriť webovú stránku v prehliadači , v interakcii s operačným systémom nástrojov alebo spustiť okno konzoly . Získajte aplikácie Runtime Environment

Java mať inštanciu dynamických knižníc . Použite metódu Runtime je getRuntime ( ) pre prístup k tomuto objektu . Napríklad :

Runtime rt = Runtime.getRuntime ( ) ;
Vykonať externé aplikácie

Runtime ponúka niekoľko spôsobov , ako volanie exec metódu , ktorá vracia objekt procesu . Najjednoduchší spôsob , ako spúšťať externé aplikácie je metóda Runtime exec ( príkaz String ) , kde " príkaz " je príkazový riadok , ktorý spustí aplikáciu . Nasledujúce volanie spustí " ls " príkaz získať výpis adresára pre koreňového adresára na linuxovom alebo unixovom systému :

Process p = rt.exec ( " ls /" ) ;

exec metóda môže byť tiež volaná s radom obsahujúce príkaz a jeho argumenty , nastavením premennej prostredia a pracovný adresár .
Získať Process Informácie

proces trieda poskytuje prístup k vstupného prúdu , výstupného prúdu , chyba prúd a výstupné hodnoty vykonaného procesu .

metóda Process.getInputStream poskytuje prístup k procesu " štandardný výstup prúdu prostredníctvom vašej aplikácie vstupného prúdu . Prúd by mal byť do vyrovnávacej pamäte . Pokračovanie predchádzajúceho príkladu nasledujúci kód pristupuje výstup z " ls /" Príkaz vytlačí výsledky

InputStream Istra = p.getInputStream ( ) ; . InputStreamReader istrmrdr = new InputStreamReader ( Istra ) ; BufferedReader buffrdr = nová BufferedReader ( istrmrdr ) ;

String dát ; while ( ( dáta = buffrdr.readLine ( ) ) = null ! ) { System.out.println ( dáta ) ; }

Podobne si môže zachytiť chyby prúdu pomocou procesu " getErrorStream a pomocou vyrovnávacej pamäti vstupný prúd spracovať dáta . Vaša aplikácia môže tiež odosielať dáta do procesu " vstupného prúdu cez výstupný prúd vašej aplikácie . Použite Process " metóda getOutputStream a vyrovnávacej výstupný prúd .
Ukončenie

Zachyťte hodnotu výstupnej procesu pomocou systému ' metódy exitValue zistiť , či je vystúpil normálne . Uistite sa , že proces vystúpil pomocou systému ' metódy WAITFOR spôsobiť aktuálne vlákno čakať na proces ukončiť . Napríklad zachytenie výstupnú hodnotu do premennej , ktorá môže byť použitá neskôr pri rozhodovaní o tom , ako vaša žiadosť bude prebiehať :

int ev = 0 ; if ( p.waitFor ( ) = 0 ! ) { Ev = p.exitValue ( ) ; }

proces môže byť zabitý pomocou systému ' metódy
klipart zničiť
Úvahy

Java 5 predstavil triedu ProcessBuilder na nahradiť Runtime.exec . ProcessBuilder uľahčuje prispôsobiť proces , a poskytuje lepšiu kontrolu nad začatím procesu .
Varovanie

Jedným z hlavných rysov programovacieho jazyka Java je jeho prenosnosť na viacerých počítačových platformách . Volanie externé procesy , ktoré sú špecifické pre konkrétny operačný systém udržuje vašu žiadosť z bytia prenosné . Vyhnite sa použitie Runtime.exec keď existuje spôsob pre dosiahnutie rovnakého cieľa v jazyku Java .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené