与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();
%>
输出如下:
我要删除的内容是显示在表格标题之后的Filesystem Size Used Avail Use% Mounted
。
答案 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+");