记一次控制台输出异常/输出丢失的问题

问题发生

起初只是想简单的对一串字符串两两进行翻转,但是翻转之后只看见了完整的最后一行

文章为GPT生成的示例

"""在遥远的山谷中,清晨的阳光洒在溪水上。
|小猫在窗台上晒太阳,懒洋洋地打着呵欠。
|夜空繁星点点,仿佛在倾诉着古老的故事。
|微风拂过,树叶沙沙作响,仿佛在轻声歌唱。"""

>>  




风微过拂树,沙叶作沙,响佛仿轻在歌声。唱

测试

于是考虑把文字输出到txt进行测试,又遇到了另外一个问题

我使用的输出代码是这样的

  val str: String =
    """在遥远的山谷中,清晨的阳光洒在溪水上。
      |小猫在窗台上晒太阳,懒洋洋地打着呵欠。
      |夜空繁星点点,仿佛在倾诉着古老的故事。
      |微风拂过,树叶沙沙作响,仿佛在轻声歌唱。"""
// 一些代码
    Files.write(Paths.get(filePath), str.getBytes)

但是报错

Found:    java.nio.file.Path
Required: String
    Files.write(Paths.get(filePath), str.getBytes)

最后发现是因为str的缩进比Files那行少了一个, 就。。挺坑的,也不知道为什么报这个错

最后输出到txt的结果正常,和控制台不同

问题解决

由于不知道问题在哪,左改改右改改试了半天,最后发现是\r的问题

\r是回车符,作用是回到行首,\n是换行符,作用是移动到下一行

split("\n")或者其他情况把\r换到前面去了就会导致控制台输出的时候内容被覆盖

要按行切割还是用java内置的lines()或者scala的linesIterator

在网上发现了类似的情况的文章\r导致IDEA控制台输出缺失

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值