A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© linweiwen 中级黑马   /  2014-4-20 16:37  /  1341 人查看  /  2 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

在讲IO这一章的时候,缓冲流的readLine()方法或者其他一些类似的方法,
都有会通过"\r\n"这样的字符判断行结束。

刚才,我通过上机发现,eclipse和dos窗口下,对'\r'和'\n'的处理是不一样的
程序如下:
  1. public class TestRN{
  2. public static void main(String[] args){


  3. System.out.print("hello\r World1");
  4. System.out.print("hello java!\r World2");

  5. System.out.println("");
  6. System.out.println("");

  7. System.out.print("hello\nWorld1");
  8. System.out.print("hello java!\n World2");

  9. System.out.println("");
  10. System.out.println("");


  11. System.out.print("hello\r\nWorld1");
  12. System.out.print("hello java!\r\nWorld2");
  13. }


  14. }
复制代码



eclipse的输出是:
  1. hello
  2. World1hello java!
  3. World2

  4. hello
  5. World1hello java!
  6. World2

  7. hello
  8. World1hello java!
  9. World2
复制代码



dos小黑窗的输出是:
  1. World2hello java

  2. hello
  3. World1hello java!
  4. World2

  5. hello
  6. World1hello java!
  7. World2
复制代码



可以看到,eclipse把'\r','\n',"\r\n",都同样作换行处理。
而命令行窗口下,则是很标准的,
'\r'就是回车,光标回到行首,
'\n'就是换行,"\r\n"才是新的一行。


在自己实现BufferedReader的时候,差点就被eclipse误导了,可恶。

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

2 个回复

倒序浏览
本来以为\n.\r.\r\n已经学会了,但是看到你这个,觉得的确值得再研究一次。谢谢
回复 使用道具 举报
\r\n是记事本中的换行标记
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马