dabocaiqq
dabocaiqq
2020-04-24 12:43
采纳率: 66.6%
浏览 148

Java语言高分悬赏,请问Java语言文件读写中\n和\r\n的区别是什么?

Java语言高分悬赏,请问Java语言文件读写中\n和\r\n的区别是什么?
Java语言高分悬赏,请问Java语言文件读写中\n和\r\n的区别是什么?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • wojiushiwo945you
    毕小宝 2020-04-28 16:21
    已采纳

    从平时使用的结果来看,是没有区别的

    \r 是回车,return
    \n 是换行,newline
    

    Unix系统里,每行结尾只有“<换行>”,即“\n”;
    Windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”;

    点赞 评论
  • Kiloveyousmile
    Kiloveyousmile 2020-04-24 13:46

    这是因为系统原因而做的的区分。Windows系统下,使用\r\n区分行;linux系统下,则一般使用\n区分行。这两个都可以看作换行符。

    点赞 评论
  • weixin_46704141
    weixin_46704141 2020-04-24 14:18

    这个跟操作系统有关,在Unix内核的系统中换行就是复\n,但是windows系统中换制行需要\r\n都用,这点只要你用io写一个文件内容只有\r或者\n然后在用windows记事本写个文件只知输入一个回车然后比较一下两个道文件大小就知道了

    点赞 评论
  • qq_32936153
    云峰122 2020-04-24 14:23

    \n是跳到下一行,\r是跳到行首,\r\n的话是跳到下一行行首。但是往往下一行都是空的,所以\r\n与\n就没有差距了。

    点赞 评论
  • mtjwy
    mtjwy 2020-04-25 11:57

    Java语言文件读写中\n和\r\n的区别与Java语言本身无关,而是与控制台/终端/等等有关。是控制台终端将输出转换为显示。

    在Windows命令窗口中,标准的“行结束”编码是\r\n。Windows将其视为一个单独的字。

    这种情况的历史原因是电传打印机的回车(将打印头移动到左边)和换行(将纸张向前移动一行)。

    总结:
    1. 在Unix和所有类Unix系统中,\n是表示行尾,\r没有什么特殊的含义。
    2. 在C语言中,\n是行尾的标准转义字符
    3. 在旧的Mac系统(os X之前)中,\r是表示行尾。
    4. 在Windows(和许多老的OSs)中,行尾是用2个字符 \r\n,来表示的。
    5. \r\n是Internet上文本格式的标准行尾终止符。

    点赞 评论

相关推荐