我尝试使用> and >>
Java 类中的\n
重定向运算符输出到文本文件,但当。TXT文件打开时记事本来自 Windows 10。这很有趣,因为在迅速的换行工作正常,如果我使用System.out.println("")
它在记事本。
\n
带换行符的类:
class n{
public static void main(String[] args){
System.out.print("This\n");
System.out.print("Should\n");
System.out.print("Be\n");
System.out.print("Separated.\n");
}
}
类使用System.out.println("")
:
class ln{
public static void main(String[] args){
System.out.println("This");
System.out.println("Should");
System.out.println("Be");
System.out.println("Separated.");
}
}
输出迅速的:
文本文件中的输出n 类(n.txt)以记事本:
ThisShouldBeSeparated.
文本文件中的输出类 ln(文本文件)以记事本:
This
Should
Be
Separated.
上面这两个应该是相等的。
我测试了n 类 民众但这并没有改变结果。
我搜索并找到了如何echo
换行,这不是我想要的,我希望重定向的文本文件像迅速的。
一个有趣的细节是,当我粘贴来自n.txt在这里 (写一个问题), 在里面微软 Word,记事本++或者写字板(或者在引用的程序中打开该文件)它“修复”了错误,并且等于类 ln。
编辑
我认为这不是重复的,因为当我写这个问题时,我甚至没有想到可能的记事本问题。标题完全不同,所以我回答了我自己的问题,为那些认为问题不是记事本像我之前一样,也许能得到一个很好的解决办法。
如果我错了我会很高兴被纠正。
答案1
在搜索有关换行和文本文件的更多信息时,我发现问题在这里超级用户社区解释了正在发生的事情。
问题不在于迅速的, 是个记事本从视窗(就我而言是 Windows 10,就另一个问题的作者而言是 Windows 7)不承认这种类型的换行,引用@Paul 回答了我所讨论的问题:
记事本仅识别 CR、LF(0x0d、0x0a),而其他来源可能仅使用 CR 或仅使用 LF。
现在我建议使用作为第一个文本编辑器写字板或者记事本++正常工作。
在里面记事本:
在记事本++和写字板:
其他可能的解决方案是从记事本,粘贴在记事本++,写字板,微软 Word或任何可以识别此类换行符的文本编辑器,然后将其复制回来。
欲了解更多信息,请访问问题“记事本忽略换行符”。