1、流的定义:
流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流。这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。品牌网站建设,这时候你就可以想象数据好像在其中“流”动一样。
2、流的本质: 数据传输
3、流的划分:
(1)按照方向:
输入流: 从磁盘(存储介质)---------->当前程序(内存)的过程
基类: InputStream 、 Reader
输出流: 从当前程序(内存)---------->磁盘的过程(存储介质)
基类: OutputStrem 、 Writer
(2)按照操作单元
字节流 : 二进制表示的数据,一个字节8个bit
基类: InputStream 、 OutputStream
字符流 : 将数据以字符形式表示,例如‘a’ ‘b’ 1、2、3
基类: Reader 、 Writer
(3)按照角色划分:
节点流(介质流):低级流,连接程序和储存介质的流
处理流(高级流):和节点流直接相连的流,
4、字节流、字符流的区别:
字节: 存储的是0101
字符: 存储的字符,
(1) 读写单元不同:
字节流以字节(8 bit) 为单位
字符流以字符为单位,
(2)处理对象不同
字节流可操作所有类型的文件(视频、图片、音乐…)
字符流只能操作字符类型的文件,
(3)处理效率不同
字节流效率高,
字符流效率低,因为要涉及到编码解码
(4) 可移植性
字节流高,与平台无关
字符流低,
5、字节和字符的相互转换 (乱码问题)
原因分析:
字节数组容量太小,最后几个字节包含了一个字符的部分字节。
开始的指针不在某个字符的开始字节上。
解码、译码的码表不匹配
码表:
ASCII码 :一个字符的七位表示 ,对应的字节都是整数,0-xxxxxxx
ISO-8899-1 :拉丁码表,以一个字节的8为表示,可以表示整数和负数,(最高位表示符号)
GBK :中文码表,用两个字节表示,2个字节中,第一个字节最高位为1,第二个字节的最高位为0;
Unicode :国际标准码:无论什么文字,都是两个字节
UTF-8 :基于Unicode,一个字节表示存储信息,每个字节头加入了编码信息
编码类:Charset
广州天河区珠江新城富力盈力大厦北塔2706
020-38013166(网站咨询专线)
400-001-5281 (售后服务热线)
品牌服务专线:400-001-5281
长沙市天心区芙蓉中路三段398号新时空大厦5楼
联系电话/ (+86 0731)88282200
品牌服务专线/ 400-966-8830
旗下运营网站:
Copyright © 2016 广州思洋文化传播有限公司,保留所有权利。 粤ICP备09033321号