如何在java中输出格式化的html

kar*_*jko 3 html java gwt parsing indentation

我正在读这样的html文件:

try {
    BufferedReader bufferReader = new BufferedReader(new FileReader(path));
    String content;
    while((content = bufferReader.readLine()) != null) {
        result += content;
    }
    bufferReader.close();

} catch (Exception e) {
    return e.getMessage();
}
Run Code Online (Sandbox Code Playgroud)

我想在GWT textArea中显示它,我将其作为String给出.但是字符串会丢失缩进并作为单行文本出现.有没有办法正确显示格式(带缩进)?

Jes*_*per 5

这可能是因为readLine()砍掉了行尾字符.为每一行再次添加它们.

除此之外,使用StringBuilder的而不是使用+=一个String在一个循环:

try {
    BufferedReader bufferReader = new BufferedReader(new FileReader(path));
    StringBuilder sb = new StringBuilder();
    String content;
    while ((content = bufferReader.readLine()) != null) {
        sb.append(content);
        sb.append('\n');   // Add line separator
    }
    bufferReader.close();
} catch (Exception e) {
    return e.getMessage();
}

String result = sb.toString();
Run Code Online (Sandbox Code Playgroud)