首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

JAVA I/O中面临字节的InputStream和OutputStream以及面向字符的Reader和Writer简介

2012-08-03 
JAVA I/O中面向字节的InputStream和OutputStream以及面向字符的Reader和Writer简介Java的IO操作中有面向字

JAVA I/O中面向字节的InputStream和OutputStream以及面向字符的Reader和Writer简介

Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式.
面向字节的操作为以8位为单位对二进制的数据进行操作,对数据不进行转换,这些类都是InputStream和OutputStream的子类.
面向字符的操作为以字符为单位对数据进行操作,在读的时候将二进制数据转为字符,在写的时候将字符转为二进制数据,这些类都是Reader和Writer的子类.
下面是JAVA示例代码:

其16进制的表示如下:a的16进制表示为61,"中"的16进制为E4 B8 AD

运行testInPutStream输出如下:
97为a的10进制表示,16进制的61和10进制的97转为二进制是相等的.
"中"的10进制为228 184 173,用byte表示为-28 -72 -83.

OutPutStream输出的时候,能接收的是int,或者byte数组,然后将其以二进制的数据输出.

不要被本例的bos.write("中\r\n".getBytes("UTF-8"));所误导,这里指定编码是将"中"转成
以UTF8表示的byte数组.对同一个字符,不同的编码转换成的二进制数组可能是不一样的.
bos.write("中\r\n".getBytes("GB2312"));得到"中"的16进制表示为D6 D0.如下图
JAVA I/O中面临字节的InputStream和OutputStream以及面向字符的Reader和Writer简介
InputStreamReader需要指定编码,reader安照编码将二进制的多个字节转成一个字符.

InputStreamReader有下面的一些read方法.

JAVA I/O中面临字节的InputStream和OutputStream以及面向字符的Reader和Writer简介

BufferedReader有下面的一些read方法.
JAVA I/O中面临字节的InputStream和OutputStream以及面向字符的Reader和Writer简介
OutputStreamWriter安照指定编码将字符转成二进制数据保存.

OutputStreamWriter有下面的一些方法:

JAVA I/O中面临字节的InputStream和OutputStream以及面向字符的Reader和Writer简介

热点排行