Estoy tratando de leer el resultado de un comando de shell en un buffer de cadena, la lectura y adición de los valores está bien excepto por el hecho de que los valores agregados son cada segunda línea en el resultado de shell. por ejemplo, tengo 10 filas de salida od shell y este código solo almacena la fila 1, 3, 5, 7, 9. ¿Alguien puede señalar por qué no puedo atrapar cada fila con este código? cualquier sugerencia o idea es bienvenida :)Almacenamiento de salida de shell
import java.io.*;
public class Linux {
public static void main(String args[]) {
try {
StringBuffer s = new StringBuffer();
Process p = Runtime.getRuntime().exec("cat /proc/cpuinfo");
BufferedReader input =
new BufferedReader(new InputStreamReader(p.getInputStream()));
while (input.readLine() != null) {
//System.out.println(line);
s.append(input.readLine() + "\n");
}
System.out.println(s.toString());
} catch (Exception err) {
err.printStackTrace();
} }
}
Hola, Gracias por su respuesta. he intentado con esto también tiempo (s.append (input.readLine())! = Null) { \t //System.out.println(line); \t s.append (input.readLine() + "\ n"); } Pero el código queda trabado, ¿puedes pegarme un ejemplo? –