jueves, 19 de noviembre de 2015

Creación de procesos en Java I.


Escribir un programa en  Java que ejecute dos comandos, cada uno ejecutado por un hijo, con sus respectivas básculas (argumentos), y que redireccione la salida estándar del primero a la entrada del segundo. Para facilitar las cosas, los comandos y sus básculas están en el código.
ls -la | tr "d" "D"

import java.io.*;
public class JavaComando {

 public static void main(String args[]) throws IOException, InterruptedException {
 Runtime proc = Runtime.getRuntime();
 Process lsproc = null;
 InputStream in = null;
 int b;

 Process trproc = null;
 OutputStream out = null;
 
 lsproc = proc.exec("ls -la");
 in = lsproc.getInputStream();
 trproc = proc.exec("tr 'd' 'D'");
 out = trproc.getOutputStream();
 while((b = in.read()) != -1)
 out.write(b);
 lsproc.waitFor();
 in.close();
 out.close();
 in = trproc.getInputStream();
 while((b = in.read()) != -1)
 System.out.write(b);
 trproc.waitFor();
 in.close();
 }
}

No hay comentarios:

Publicar un comentario