繁体   English   中英

使用 PrintWriter 意外换行

[英]Unexpected line break using PrintWriter

我不知道为什么 PrintWriter 在看到这个符号“##”时会断线

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

系统数据

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

使用 Printwriter 后的结果

我的部分代码:

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 表包含 6 行,您的输出包含 6 行。 所以我猜你的意思是“附加行”是第 2 行的额外换行符。 2 和 6。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM