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