黑马程序员技术交流社区
标题:
关于bufferedReader
[打印本页]
作者:
刘圣繁
时间:
2013-2-22 00:00
标题:
关于bufferedReader
BufferedReader(new InputStreamReader(System.in))的方法 readLine() 如果键盘直接输入回车 那么 读到的是什么???
作者:
张君
时间:
2013-2-22 01:13
那当然是回车了、
作者:
刘圣繁
时间:
2013-2-22 01:15
张君 发表于 2013-2-22 01:13
那当然是回车了、
??读到的不是null吗
作者:
夏振博
时间:
2013-2-22 01:19
本帖最后由 夏振博 于 2013-2-22 01:22 编辑
回车的效果!
按回车就会输入
\r\n
windows系统再解析成回车效果
作者:
黑马-张洋
时间:
2013-2-22 12:28
给你一个小demon让你理解
package com.itheima;
class test
{
public static void main(String[] args)
{
System.out.println("第一次无:----->"+"<------第一次无");
System.out.println("第一次有:----->"+"\r\n"+"<------第一次有");
String a="\r\n";
System.out.println("第二次无:----->"+"<------第二次无");
System.out.println("第二次有:----->"+a+"<------第二次有");
}
}
复制代码
打印结果:
第一次无:-----><------第一次无
第一次有:----->
<------第一次有
第二次无:-----><------第二次无
第二次有:----->
<------第二次有
你可以理解为你按的回车,实际上是出现了,我在demon中定义的String类型的变量a。
再深入解释一下:
'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。通常用的Enter是两个加起来。
Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<换行><回车>”,即“\n\r”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。
作者:
scott0610
时间:
2013-2-22 12:42
当用户按下回车时,readLine()方法独到的是'\n';系统再对'\n'做相应的处理(换行)。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2