Buffer:表示缓冲区,缓冲区中的内容可以更改,可以提高效率。如果要想接受任意长度的数据,而且避免乱码产生,就可以使用BufferedReader。
public class BufferedReader extends Reader
因为输入的数据有可能出现中文,所以此处使用字符流完成。
System.in本身表示的是InputStream(字节流),现在要求接收的是一个字符流,需要将字节流变为字符流才可以,InputStreamReader。
import java.io.* ;
public class BufferedReaderDemo01{
public static void main(String args[]){
BufferedReader buf = null ; // 声明对象
buf = new BufferedReader(new InputStreamReader(System.in)) ; // 将字节流变为字符流
String str = null ; // 接收输入内容
System.out.print("请输入内容:") ;
try{
str = buf.readLine() ; // 读取一行数据
}catch(IOException e){
e.printStackTrace() ; // 输出信息
}
System.out.println("输入的内容为:" + str) ;
}
};
此时,没有任何的长度限制,可以输入很多的内容,每次以回车为结束。