2016-02-01 45 views
3

我想用java創建log.html文件,其中我會在錯誤被捕獲時將錯誤轉儲到html表格中。 我創建了表列,但是當我傳遞任何東西給它時,我的數據覆蓋列名而不是追加行。 我的Java代碼如下:java代碼來創建html文件並動態添加行

public static void main(String[] args) throws IOException 
{ 
    String month = getMonth(1); 
    System.out.println(month); 
    //table(month); 
    addrow("abc"); 
} 
public static void table(String Update) throws IOException 
{ 
    //define a HTML String Builder 
    StringBuilder htmlStringBuilder=new StringBuilder(); 
    htmlStringBuilder.append("<html><head><title>Packaging Issues</title></head>"); 
    htmlStringBuilder.append("<body><h1> Files Received </h1>"); 
    htmlStringBuilder.append("<table border=\"1\" bordercolor=\"#000000\">"); 
    htmlStringBuilder.append("<tr><td><b>Cycle</b></td><td>"+Update+"</td></tr>"); 
    htmlStringBuilder.append("<tr><td><b>Version</b></td><td></tr>"); 
    newtable(htmlStringBuilder.toString()); 
} 
public static void newtable(String a) 
{ 
    StringBuilder htmlStringBuilder=new StringBuilder(); 
    htmlStringBuilder.append(a); 
    htmlStringBuilder.append("<h1> Issues Found </h1>"); 
    htmlStringBuilder.append("<table border=\"1\" bordercolor=\"#000000\">"); 
    htmlStringBuilder.append("<tr><td><b>Type</b></td>"); 
    htmlStringBuilder.append("<td><b>Field</b></td>"); 
    htmlStringBuilder.append("<td><b>Issue</b></td></tr>"); 
    addrow(htmlStringBuilder.toString()); 
    // WriteToFile(htmlStringBuilder.toString(),"log.html"); 
} 

public static void addrow(String a) 
{ 
    try { 
     StringBuilder htmlStringBuilder=new StringBuilder(); 
     htmlStringBuilder.append("<tr><td><b>"+a+"</b></td>"); 
     htmlStringBuilder.append("<td><b>Field</b></td>"); 
     htmlStringBuilder.append("<td><b>Issue</b></td></tr>"); 
     htmlStringBuilder.append("</table></body></html>"); 
     WriteToFile(htmlStringBuilder.toString(),"log.html"); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

這裏是將writeToFile方法:

public static void WriteToFile(String fileContent, String fileName) throws IOException { 
    String projectPath = "/home/abc"; 
    String tempFile = projectPath + File.separator+fileName; 
    File file = new File(tempFile); 
    // if file does exists, then delete and create a new file 
      //write to file with OutputStreamWriter 
    OutputStream outputStream = new FileOutputStream(file.getAbsoluteFile()); 
    Writer writer=new OutputStreamWriter(outputStream); 
    writer.write(fileContent); 
    writer.close(); 

} 

如果有任何其他的方式做,然後請份額。先進的感謝

+0

你可以顯示'WriteToFile'方法嗎? –

+0

可能的重複:http://stackoverflow.com/questions/1225146/java-filewriter-with-append-mode – Zombies

回答

0

構造函數FileOutputStream(file)覆蓋文件的內容。使用this constructor代替

FileOutputStream fos =new FileOutputStream(file, true) ;