Poganjanje zunanjih sistemskih ukazov
je relativno preprosto. Zahteva uporabo razredov, razred Runtimein
razred Process. Uporabimo metodo
exec( ) iz razreda
Runtime in ustvarimo nov, samostojen podproces. Metoda
vrne razred Process za uporabo podprocesa. Nato lahko z metodami
getInputStream(
), getOutputStream(
) in getErrorStream( )
razreda Process za branje tistega, kar vrne sproženi program,
in za pisanje vanj.
import java.io.*; public class RunCommand { public static void main(String args[ ]) { String s = null; try { Process p = Runtime.getRuntime( ).exec("notepad.exe"); BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getOutputStream( ))); // read the output from the program (if any) System.out.println("Here is the standard output of the program:\n"); while ((s = stdInput.readLine( )) != null) { System.out.println(s); } System.exit(0); } catch (IOException e) { System.out.println("Nekaj je narobe: "); e.printStackTrace(); System.exit(-1); } } } |
Vse ostalo se vrti okoli metod razreda
Process.
V našem primeru, ker poganjamo beležnico (notepad). Branje standardnega
izhoda v tem primeru ni potrebno in je le nakazano, kako bi to šlo.
avtor: Kemal
Posedi