从“LinkedHashMap”中记录结果'到新线?

时间:2017-02-23 12:50:19

标签: java

如何使用换行符打印日志结果(存储在' LinkedHashMap'中?)

目前,数据正在被捕获并捆绑在一起,而不是在新行上写入hashMap的每个条目。我的代码:

public static ArrayList<String> chromeConsoleOutputs = new ArrayList<String>();

public static StringBuilder returnFailedMethodsAndURLToNewLine() {
    Iterator<Entry<String, String>> entries = failedTestsAndURL.entrySet().iterator();
    StringBuilder result = new StringBuilder();
    while (entries.hasNext()) {
        Map.Entry<String, String> entry = entries.next();
        result.append("<br>" + entry.getKey() + " |" + entry.getValue());
    }
    return result;
}

也许我必须改变代码的这一部分?

        while (entries.hasNext()) {
        Map.Entry<String, String> entry = entries.next();
        result.append("<br>" + entry.getKey() + " |" + entry.getValue());
    }

当前日志示例:

enter image description here

3 个答案:

答案 0 :(得分:1)

只需做一个:

private final static String LINE_SEP = System.getProperty("line.separator");
...

result.append("<br>" + entry.getKey() + " |" + entry.getValue());
result.append(LINE_SEP);

请注意:

  • 您希望确保使用真正适用于您的代码运行的操作系统的“换行符”样式
  • 另一方面,您不希望在每个循环期间进行此系统调用;所以你通过使它成为一个静态常量来获取那个ONCE

答案 1 :(得分:0)

您可能需要添加一个显式的换行符,而不是<br>标记,该标记特定于HTML:

result.append("\n" + entry.getKey() + " |" + entry.getValue());

通常的做法是将换行符放在字符串的末尾。

result.append(entry.getKey() + " |" + entry.getValue() + "\n");

答案 2 :(得分:0)

在字符串构建器

中附加“\ n”
result.append("<br>" + entry.getKey() + " |" + entry.getValue()).append("\n");