写了一段东西在txt文件中然后再读取出来并输出,我发现\r\n都是成对出现的。1.为什么是成对出现的啊?2.有没有只出现\r或只出现\n的情况,是什么情况呢?谢谢....

解决方案 »

  1.   

    最好成对出现,这是因为windows OS决定的,单出现任何一个都不会换行,特别是在swing组件中
      

  2.   

    1. \r是Enter键的character,\n表示换行,如果是你用Enter键换行,自然是\r\n
    2. 你可以用程序写文件来测试
      

  3.   

    所以说,只要用的文本编辑工具编辑的txt,都是\r\n成对出现的了?
      

  4.   

    http://blog.csdn.net/justinavril/archive/2009/12/06/4953146.aspx
      

  5.   


    Windows上面往往是\r\n
    Linux是\n
    MAC OS X是\r你的txt是Windows共享给其他两种系统了,然后修改了,你说是不是还一定能成对出现?
      

  6.   


    linux或mac os中,各自只用一个就能代表两个吗?
      

  7.   

    看编辑工具。
    PC上一般都是\r\n的。手机上不写\r,因为有些手机识别不了。
      

  8.   


    看这个不要以偏概全。
    http://blog.sunliguo.com/archives/del-tag-m.html
      

  9.   


    呵呵,竟然引得亚日现身。
    我是在写getClass().getResourceAsStream(url)读取资源文本的情形,
    想逐行读取文本
    但是什么时候会代表一行结束该转到下一行时,发现都是'\r\n'成对出现,所以就这样写了判断是否是一行结尾,并返回当前行的文本
    while (read != -1) {
    char ch = (char) read;
    if (ch == '\r' || ch == '\n') {
    // 不管先遇到哪个,在windows下成对出现,在第一次读取时,自动读取下一个字符,
    isr.read();
    //返回读取换行字符前已经读取到的文本
    return sb.toString();
    }
    sb.append(ch);
    read = isr.read();
    }
    亚日,你刚才说的有的手机无法识别'\r',那我上面的代码不就不行了吗??
      

  10.   

    学习啦,虽然知道点 但是看了理解的更透彻啦。tks
      

  11.   

    我的意思是回车符在某些手机上可能会显示为乱码
    我测过在索爱手机上会显示回车符 有点像WORD里的回车符 ^_^
    从你代码上看,你是想实现按行读吧。
    这样的话,建议你简单点直接根据\n来换行就好了,\r就跳过