Foros del Web » Programación para mayores de 30 ;) » Java »

Ejecutar un comando UNIX desde un programa en JAVA

Estas en el tema de Ejecutar un comando UNIX desde un programa en JAVA en el foro de Java en Foros del Web. Hola a todos, es posible generar comandos basicos de UNIX tan simples como : cat miarchivo.txt >> otroarchivo.txt ó rm miarchivo.txt desde un programa en ...
  #1 (permalink)  
Antiguo 15/06/2005, 13:54
 
Fecha de Ingreso: diciembre-2004
Mensajes: 94
Antigüedad: 19 años, 5 meses
Puntos: 0
Ejecutar un comando UNIX desde un programa en JAVA

Hola a todos, es posible generar comandos basicos de UNIX tan simples como :

cat miarchivo.txt >> otroarchivo.txt ó
rm miarchivo.txt

desde un programa en Java????

Gracias.
  #2 (permalink)  
Antiguo 15/06/2005, 14:19
 
Fecha de Ingreso: mayo-2005
Mensajes: 423
Antigüedad: 19 años
Puntos: 1
creo q tiene algo q ver con jtux

salu2
__________________
Dios creo un equipo perfecto a los demas los lleno de extranjeros
  #3 (permalink)  
Antiguo 15/06/2005, 14:27
 
Fecha de Ingreso: septiembre-2004
Mensajes: 71
Antigüedad: 19 años, 7 meses
Puntos: 0
Jose Luis :

Usando las clases Runtime y Process, ambas heredan de java.lang y no necesitan import.

Por Ejemplo, quieres ejecutar la orden ls para listar el contenido de un directorio.
Sería algo de este estilo:

Runtime r = null;
Process p = null;

/* Se obtiene una instancia Runtime, se ejecuta el método exec que devuelve una instancia
de tipo Process donde se indica el resultado de la ejecución */

r = Runtime.getRuntime();
p = r.exec("ls");

/* Hace que Java espere a que acabe la orden unix */
p.waitFor();

/* in es un BufferedReader donde se guarda
el resultado de la ejecución */

BufferedReader in=new BufferedReader(new InputStreamReader(p.getInputStream()));

/* En este caso se por experiencia que en cada
linea se guarda un nombre de fichero del resultado de la orden ls */

String valor = "";
while ((valor = in.readLine())!= null)
{
System.out.println(valor);
}


Saludos....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:12.