java - 创建 html 文件并动态添加行

标签 java

我想使用 java 创建 log.html 文件,其中我会在捕获到错误时将错误转储到 html 表行中。 我创建了表列,但是当我向它传递任何内容时,我的数据会覆盖列名而不是附加行。 我的java代码如下:

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

}

最佳答案

构造函数FileOutputStream(file) 覆盖文件的内容。使用 this constructor相反

FileOutputStream fos =new FileOutputStream(file, true) ;

关于java - 创建 html 文件并动态添加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35124308/

相关文章:

java - 如何使用 Java 将 MongoDB 对象 id 转换为 Java Date 或 Instant

java - 记录遗留 Java 应用程序的带宽使用情况

java - 将我的应用程序的 http 请求重定向到 spring webflow 中的外部网站

java - 仅在测试期间使用特殊构造函数是否有代码味道?

java - Java 如何从多个复选框中检索值

java - XSLFGroupShape 不包含其子形状

java - Java同时显示繁体中文和简体中文

java - 平滑 Java 绘画动画

java - 对象列表上的 JUnit Mockito ReflectionEquals

java - 比较 Ascii 代码