Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中执行linux命令并将输出显示到html表_Java_Output_Html Table_Display_Linux Df - Fatal编程技术网

在java中执行linux命令并将输出显示到html表

在java中执行linux命令并将输出显示到html表,java,output,html-table,display,linux-df,Java,Output,Html Table,Display,Linux Df,我用jsp代码df-h在网站上显示磁盘信息。 如何使用表格将输出显示为html? 代码如下: String[] disk; String line; String process; Process p; BufferedReader input; p = Runtime.getRuntime().exec("df -h"); input = new BufferedReader(new InputStreamReader(p.getInputStream())); inp

我用jsp代码
df-h
在网站上显示磁盘信息。 如何使用表格将输出显示为html? 代码如下:

String[] disk;
String line;
String process;
Process p;
BufferedReader input;
    p = Runtime.getRuntime().exec("df -h");
    input = new BufferedReader(new InputStreamReader(p.getInputStream()));
    input.readLine();
    disk = input.readLine().split("\\s+");
<%      
<tr bgcolor="#f0f0f0">
        <td colspan="2">
            <b>Disk</b>
        </td>
        <td align="center">
            <b>Size<b>
        </td>
        <td align="center">
            <b>Used<b>
        </td>
        <td align="center">
            <b>Avail<b>
        </td>
        <td align="center">
            <b>Use%<b>
        </td>
        <td align="center">
            <b>Mount<b>
        </td>
    </tr>
    while ((line = input.readLine()) != null) {
%>
        <tr>
        <td colspan="2"><% out.println(disk[0]); %></td>
        <td align="center"><% out.println(disk[1]); %></td>
        <td align="center"><% out.println(disk[2]); %></td>
        <td align="center"><% out.println(disk[3]); %></td>
        <td align="center"><% out.println(disk[4]); %></td>
        <td align="center"><% out.println(disk[5]); %></td>
        </tr>
<%
        }
    input.close(); 
%>
但在html中,我得到如下结果:

[root@svr1 apache-tomcat-7.0.32]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/centos_svr1-root   29G  5.3G   23G  19% /
devtmpfs                      1.9G     0  1.9G   0% /dev
tmpfs                         1.9G     0  1.9G   0% /dev/shm
tmpfs                         1.9G   17M  1.9G   1% /run
tmpfs                         1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/vda1                     497M  163M  334M  33% /boot
tmpfs                         380M     0  380M   0% /run/user/0
[root@svr1 apache-tomcat-7.0.32]#


如何修复它,或者需要更改哪些代码?

您需要在
循环中移动此行:

disk = input.readLine().split("\\s+");

考虑行“磁盘=输入.RealLink())拆分的次数(“\s+”);将在您的代码中执行。@yole它应该是一次,当脚本执行时,它将显示来自df的所有磁盘信息-h@IHarrisMarfel不。请再想一想。
readLine().split()
读取一行文本并将其拆分。
df
输出多少行?@yole在我的例子中,它显示7行,但在每台机器上都不同。