java从e​​xec命令输出中删除第一行

时间:2016-09-22 15:37:27

标签: java linux output html-table display

Execute linux command in java and display output to html table的第一个问题相关 我设法让它工作, 但我还有另外一个问题: 我如何从输出中删除第一行? 以下是代码:

<%
String[] disk;
String line;
String process;
Process p;
BufferedReader input;
p = Runtime.getRuntime().exec("df -h");
input = new BufferedReader(new InputStreamReader(p.getInputStream()));
%>
        <tr bgcolor="#f0f0f0">
            <td>
                <b>Disk</b>
            </td>
            <td>
                <b>Size</b>
            </td>
            <td>
                <b>Used</b>
            </td>
            <td>
                <b>Avail</b>
            </td>
            <td>
                <b>Use %</b>
            </td>
            <td>
                <b>Mounted</b>
            </td>
            <td>
            </td>
        </tr>
<%
    while ((line = input.readLine()) != null)
    {
    disk = line.split("\\s+");
%>
        <tr>
        <td><% out.println(disk[0]); %></td>
        <td><% out.println(disk[1]); %></td>
        <td><% out.println(disk[2]); %></td>
        <td><% out.println(disk[3]); %></td>
        <td><% out.println(disk[4]); %></td>
        <td><% out.println(disk[5]); %></td>
        </tr>
<%
    }
    input.close();
%>

输出如下:

Here

我要删除的内容是显示在表格标题之后的Filesystem Size Used Avail Use% Mounted

2 个答案:

答案 0 :(得分:1)

while循环之前读取1行,在循环之前添加以下行:

input.readLine();

答案 1 :(得分:-1)

跳过第一行?

 int count = 0;
 while ((line = input.readLine()) != null)
    {
      count++;
      if (count == 1) continue; 

    disk = line.split("\\s+");