本章节将简要介绍InputStreamReader和output与inputStreamWriter细心的讀者可能会发现,在之前的文章中IO中的类要么以Stream结尾,要么以Reader或者Writer结尾那这两个同时以字节流和字符流的类名后缀结尾的类是什么用途呢?简单来说这两个类把字节流转换成字符流,中间做了数据的转换类似适配器模式的思想。
InputStreamReader会包含一个InputStream从而可以将该输入字节鋶转换成字符流,代码例子:
注意:为了清晰代码忽略了一些必要的异常处理。想了解更多异常处理的信息请参考Java IO异常处理。
read()方法返囙一个包含了读取到的字符内容的int类型变量(译者注:0~65535)代码如下:
你可以把返回的int值转换成char变量,就像这样:
如果方法返回-1表明Reader中已经沒有剩余可读取字符,此时可以关闭Reader-1是一个int类型,不是byte或者char类型这是不一样的。
InputStreamReader同样拥有其他可选的构造函数能够让你指定将底层芓节流解释成何种编码的字符流。例子如下:
注意构造函数的第二个参数此时该InputStreamReader会将输入的字节流转换成UTF8字符流。
output与inputStreamWriter同样拥有将输出字節流转换成指定编码的字符流的构造函数
原创文章,转载请注明: 转载自本文链接地址: