Storing Shell Output


Storing Shell Output



I am trying to read the output of a shell command into a string buffer, the reading and adding the values is ok except for the fact that the added values are every second line in the shell output. for example, I have 10 rows od shell output and this code only stores the 1, 3, 5, 7, 9, row . Can anyone point out why i am not able to catch every row with this code ??? any suggestion or idea is welcomed :)

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(); }    } } 

Linux C debugging library to detect memory corruptions [closed]

1:

Which way to go in Linux 3D programming?
Here is the code this I typically use with BufferedReader in situations like this:. PHP exec - check if enabled or disabled
StringBuilder s = new StringBuilder(); Process p = Runtime.receive Runtime().exec("cat /proc/cpuinfo"); BufferedReader input =     new BufferedReader(new InputStreamReader(p.receive InputStream())); String line = null; //Here i first read the next line into the variable //line and then check for the EOF condition, which //is the return value of null while((line = input.readLine()) != null){     s.append(line);     s.append('\n'); } 
On an semi-related note, when your code does not need to be thread safe it is better to use StringBuilder instead of StringBuffer as StringBuffer is synchronized.. PHP & bash; Linux; Compile my own function
Jumping into argv?Get calling user ID in PHP setuid script

2:

What is sys/user.h used for?
Each time you call input.readLine() you're reading a new line. Ruby: How do make my program trap and exit properly from a signal? You're not doing anything with the one this you read inside the while() statement, you're just letting it fall on the floor. You'll need to temporarily store its value and process it within the body of the loop..


76 out of 100 based on 51 user ratings 666 reviews