我不知道为什么 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 表包含 6 行,您的输出包含 6 行。所以我猜你的意思是“附加行”是第 2 行中的 2 个附加换行符。 2 和 6。
我认为这是因为这些换行符是这些行中文本的一部分。 SAP GUI 不会编写这些控制字符并将其输出为“##”,但 Java 代码当然会打印这些字符。我猜这 2 个替换字符“##”实际上是控制字符 END OF LINE (U+000A) 和 CARRIAGE RETURN (U+000D)。 您可以使用ABAP调试器的十六进制 View 或Java开发环境调试器检查它们的真实字符代码。
关于java - 使用 PrintWriter 出现意外换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59573030/