虽然Java支持字节流和字符流,但有时需要在字节流和字符流两者之间转换。InputStreamReader和OutputStreamWriter,这两个为类是字节流和字符流之间相互转换的类。
工具/原料
Eclipse
JDK
概念介绍
1、InputSreamReader用于将一个字节流中的字节解码成字符:有两个构造方法:InputStreamReader(InputStream in);功能:用默认字符集创建一个InputStreamReader对象InputStreamReader(InputStream in,String CharsetName);功能:接收已指定字符集名的字符串,并用该字符创建对象
2、OutputStream用于将写入的字符编码成字节后写入一个字节流。同样有两个构造方法:OutputStreamWriter(OutputStream out);功能:用默认字符集创建一个OutputStreamWriter对象;OutputStreamWriter(OutputStream out,String CharSetName);功能:接收已指定字符集名的字符串,并用该字符集创建OutputStreamWrite对象
3、为了避免频繁的转换字节流和字符流,对以上两个类进行了封装。
4、BufferedWriter类封装了OutputStreamWriter类;BufferedReader类封装了InputStreamReader类;封装格式:BufferedWriter out=new BufferedWriter(new OutputStreamWriter(System.out));BufferedReader in= new BufferedReader(new InputStreamReader(System.in);
5、利用下面的语句,可以从控制台读取一行字符串:BufferedReader in=new BufferedReader(new InputStreamReader(System.in));String line=in.readLine();
6、字符流转换的使用。下面是代码及结果。例子中使用的是将输入的数字字符串,转换为整型数据进行输出。例如字符串为"123"则输出为123.