概述
黑马程序员: IO——4
---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------
IO包中的其他类:
RandomAccessFile
随即访问文件,自身具备读写方法。
通过skipBytes(int x),seek(int x)来达到随即访问。
管道流:
PipedInputStream和PipedOutputStream
输入输出可以直接进行连接,通过结合线程使用。
RandomAccessFileDemo:
该类不算IO体系中的子类, 直接继承Object,但是他是IO包中的成员,
应为他具备读和写功能,内部封装了一个数组,而且通过指针对数组的元素进行操作,
可以通过getFilePointer获取指针位置。同时可以通过seek改变指针的位置。
其实完成读写的原理就是内部封装了字节输入流和输出流。
通过构造函数可以看出,该类只能操作文件的。
而且操作文件还有模式的: r -->只读 rw -->读写 。。。等。
如果模式问只读,不会创建文件,会去读取一个已经存在的文件,如果该文件不存在,则会出异常。
如果模式是读写,操作的文件如果不存在,会自动创建,如果存在则不会覆盖。
字符编码:
字符流的出现为了方便操作字符。
更重要的是加入了编码转换。
通过子类转换流来完成。
InputStreamRead
OutputStreamWriter
在两个对象进行构造的时候可以加入字符集。
编码表的由来:
计算机只能识别二进制数据,早期由来是电信号。
为了方便应用计算机,让它可以识别各个国家的文字。
就将各个国家的文字用数字来表示,并一一对应,形成一张表。
这就是编码表。
常见的编码表:
ASCII : 美国标准信息交换码:
用一个字节的七位可以表示。
ISO08850-1 :拉丁码表,欧洲码表。
用一个字节的八位表示。
GB2312 : 中国的中文编码表。
GBK :中国的中文编码表的升级,融合了更多的中文文字符号。
Unicode : 国际标准码,融合了多种文字。
所有文字都用两个字节来表示,java语言使用的就是Unicode
UTF-8 :最多用三个字节来表示一个字符。
……………………
转换流的编码应用:
可以讲字符以指定编码格式储存。
可以对文本数据指定编码格式来解读。
指定编码表的动作由构造函数完成。
用于操作字节数组的流对象。
ByteArrayInputStream : 在构造时,需要接受数据源。而且数据源是一个字节数组。
ByteArrayOutputStream : 在构造时,不用定义数据目的,因为该对象中已经内部封装了可变长度的字节数组。
这就是数据目的地。
因为这两个流对象都操作的是数组,并没有使用系统资源,所以不用进行close关闭操作。
其实: 原设备 和 目的设备 :
控制台(System.out),键盘(System.in),硬盘(FileStream),内存(ArrayStream)
用流的读写思想来操作数据。
---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------
最后
以上就是儒雅抽屉为你收集整理的黑马程序员: IO——4的全部内容,希望文章能够帮你解决黑马程序员: IO——4所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复