使用 PrintWriter 意外换行

Unexpected line break using PrintWriter

我不知道为什么 PrintWriter 在看到这个符号 '##' 时会断行

我想将这些行写入 .txt 文件

但是得到这个,你可以看到它有一些意外的行:

我的部分代码:

try(OutputStreamWriter fw = new OutputStreamWriter(
                                            new FileOutputStream(filePath + "\" +file_number + "_"+ info.getFileName(), true),
                                            StandardCharsets.UTF_8);
                                            BufferedWriter bw = new BufferedWriter(fw);
                                            PrintWriter out = new PrintWriter(bw, false)) {
       JCoTable rows = function6.getTableParameterList().getTable("DATA");
       for (int i = 0; i < rows.getNumRows(); i++) {
          rows.setRow(i);
          out.write(Integer.toString(CURRENT_ROW) + ((char)Integer.parseInt(info.getFileDelimited()))+ rows.getString("WA") + "\n");}

ABAP table 包含 6 行,您的输出包含 6 行。所以我猜你的意思是 "additional rows" 第 2 行中的 2 个额外换行符。 2 和 6.

我认为这是因为这些换行符是这些行中文本的一部分。 SAP GUI 不会写入这些控制字符并将它们输出为“##”,但是 Java 代码当然会打印这些字符。我猜这 2 个替换字符“##”实际上是控制字符 END OF LINE (U+000A) 和 CARRIAGE RETURN (U+000D)。 您可以使用 ABAP 调试器的十六进制视图或在您的 Java 开发环境调试器中检查它们的真实字符代码。