黑马程序员技术交流社区
标题:
回车与换行的问题
[打印本页]
作者:
黑马刘杰
时间:
2013-2-26 19:48
标题:
回车与换行的问题
public static void fun(){
FileWriter f;
try {
f = new FileWriter("H:/text.txt",true);
//网上说windows里面每行结尾处是<换行><回车>,但事实不是
f.write("Hello\n\rHeima");
//而倒过来却是正确的
f.write("hello\r\nJava");
f.flush();
f.close();
} catch (IOException e) {
e.printStackTrace();
}
}
复制代码
我感觉\r和\n的应该这么解释
\r: return :从行首跑到行尾
\n: next :跑到下一行
但是网上也有人说\n就是回车+换行,对于这个问题我不是很明白,求大神解释下,谢谢了
作者:
李挺
时间:
2013-2-26 20:25
本帖最后由 李挺 于 2013-2-26 20:31 编辑
假如\r是return的话,你f.write("hello\rJava");
的结果应该是javahello才对
可是是这样的么?
很明显windows只识别组合是\r\n的换行
这就在写BufferedWriter的时候一样
先判断是不是\r,如果是,再判断下个字符是不是\n
如果都符合就换行,如果是\n\r出来的不是乱码么?
作者:
贾文泽
时间:
2013-2-26 20:58
\r是CARRIAGE_RETURN,其实是将输出位置放回到一行的开头,
\n是LINE_FEED,是另起一行【你说的回车加换行】
作者:
王昕
时间:
2013-2-26 21:09
\n是到下一行行首,\r是到本行行首。
\n\r和\r\n还有\n效果是一样的。
回车是过去打字机的说法,打完一行要把“车”拉回行首。
Hello\rJava的输出是Javao,输出Hello之后回到行首,Java覆盖了Hell,剩下最后一个o。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2