java写入excel换行符_读取excel中字符包含回车换行时,当写入文件后,换行符号改变...

本文探讨了在Windows环境下使用自动化测试工具模拟发送XML报文时遇到的问题,即超网系统处理含有特定换行符的XML报文失败的情况。文章分析了问题原因,并提出了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

行内超网系统在自动化测试工具时碰到一个有意思的问题,在windows系统上运行自动化测试工具的智能发起端去模拟人行发送xml报文,智能发起端读取报文时,如果xml报文中含有换行操作,超网系统处理发起端发送的报文失败,后来跟超网系统的人沟通,了解到超网系统在读取报文时会把首次出现\r\n之后的报文截取先来当做xml去处理。但是通过日志中打印的报文发现\r\n变成了\n,由此导致处理出错。

思考问题出现的原因时觉得可能出现问题的地方有:

1.读取数据时替换了\r\n为\n。

2.数据在读取后java处理出问题

3.数据写出时出的问题。

决定debug跟踪一下数据流转过程,查看到底是哪里的问题。发现发起端读取报文时把\r\n替换为\n,这个时候一度陷入了一个思维误区,一直觉得报文里的\r\n就是换行的意思,这时发现在不同系统下换行是有不同的表示的,但是超网系统需要判断的仅仅是\r\n(在window是回车换行,在unix下是^M),而不是换行这个操作符.

我的思维误区就是把\r\n这个实际的bit数抽象成计算机换行这个操作,而不同的计算机系统换行具有不同的表达方式。因此只有把\t\n当做计算机中实际的值去操作,java中是把\r\n抽象成换行去处理,因此需要去特殊处理

Window上换行符是\r \n,unix上换行符\n,os系统使用\r.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值