while(sc.hasNext())
{
String name=sc.next();
if(name.isEmpty())
break;
bufferedWriter.write(name+" ");
name=null;
}
Scanner
1.默认用空白字符作为分隔符,键盘上的回车键表示一次输入结束,如果输入一行数据,比如:yhdfweu wsegdyh iuyuiehw 如果不按enter键的话,会一直死在while(sc.hasNext());按下了enter键,会依次读入这几个数据。
2.nextLine()和next()的区别,next()以空白字符作为界限读入数据,而nextLine ()是以行为单位读数据,如果录入“dhdf euhw”这样的一个数据,如果nextLine()会读入一行,就会正确读出,而next()会将其分成2个数据读入。
3.如何读入空字符串,即“”;如果连续按2次enter键,表示2个enter键之间的是空字符串。由于是以空格为分隔符。而这种情况会直接被扫描器忽略。可以通过Scanner sc=new Scanner(System.in).useDelimiter(System.getProperty(“line.separator”));来设置分隔符为“\r\n”(windows)。那么2个回车之间,即是2个分隔符之间,即为一个数据。