I/0复习

来源:互联网 发布:编辑软件图标 编辑:程序博客网 时间:2024/06/08 03:04

 

Io包中类的层次关系图

输入流:程序中可以连续读取字节的对象。用InputStream类表示。

输出流:程序能向其中连续写入字符的对象。用OutputStream类表示。

 

字节输入流类:

a 

字节输出流类:

b

红色部分没有对应的输出流。

字符输入流类:

d

字符输出流类:

d

红色部份没有。

 

java字符编码

1. ASCⅡ(美国标准信息交换码):一个字符对应一个字节。字节的最高位都为0,数字都在0-127之间。

2. GBK(国标码):原来的ASCⅡ字符的编码保持不变,仍用一个字节表示。每一个中文字符都用两个字节表示,为了将一个中文字符与两个ASCⅡ字符相区别,中文字符的每个字节最高位都为1

3. GB2312:在GBK(国标码)的基础上对更多的中文字符(包括繁体)进这行编码。GBK(国标码)GB2312的子集。

4. Unicode编码:全世界所有的符号进行了统一的编码,称之为Unicode编码。每个字符的编码都占用两个字节。Java中字符中是采用此编码的。

5. 编码:StringgetBytes()方法,是将Unicode编码的字符串的每个字符数字,转换成该字符在指定字符集下的数字,然后将这些数字放在一字节数组中返回,这个过程叫编码。

6. 解码:将字节数组中的数据当作某种本地字符集码转换成Unicode码的字符中的过程。

7. 字节用于表计算机内存中最原始的数据,不会涉及到编码问题,只有把字节中的内容当做字符来处理时,才会涉及编码问题。在中文操作系统下,本地字符集默认为GB2312的。可以用System.getProperties().list(System.out);来查看。

 

 

原创粉丝点击