问题发生
起初只是想简单的对一串字符串两两进行翻转,但是翻转之后只看见了完整的最后一行
文章为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控制台输出缺失