2016-09-22 2 views
2

Ich habe JSP-Code df -h für Anzeige Datenträger Informationen auf der Website. Wie kann ich die Ausgabe in HTML mit Tabelle anzeigen? Unter dem Code:Ausführen von Linux-Befehl in Java und Anzeige der Ausgabe in HTML-Tabelle

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

wenn auf Linux I "df -h" führen Sie es wie unten zeigt:

[[email protected] 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 
[[email protected] apache-tomcat-7.0.32]# 

Aber html habe ich wie folgt:

Output

Wie kann ich es beheben, oder welchen Code, den ich ändern muss?

+0

Überlegen Sie, wie viele Male die Linie 'disk = input.readLine() split ("\\ s +");' wird ausgeführt werden. dein Code. – yole

+0

@yole sollte es einmal sein, wenn das Skript ausgeführt wird, zeigt es alle Informationen von df -h –

+0

@IHarrisMarfel Nr. Denken Sie noch einmal. –

Antwort

0

Sie benötigen diese Zeile innerhalb der while Schleife bewegen:

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