您的位置:首页 > 其它

IO包中的其他类

2013-03-13 15:08 176 查看
1、打印流 :PrintWriter 、 PrintStream :可以直接操作输入流和文件
2、序列流 :SequenceInputStream : 对多个流进行合并
3、操作对象 :ObjectInputStream 、ObjectOutputStream
被操作的对象需要实现Serializable接口,Serializable接口只可以序列化堆内存中的东西,不能序列化静态常量。
当类中成员变量被transien t 修饰后,其值也只能在对内存中存在,不能实现序列化
4、管道流 : PipedInputStream 、PepedOutputStream :输入输出直接进行连接,通常结合多线程使用。
5、RandomAccessFile :支持随机访问文件的读取和写入,同时实现了DataInput和Dataoutput接口。内部封装了字节输入流和输出流。
不是IO体系中的子类,直接继承Object,是IO包中的成员。内部封装了一个数组,通过指针对数组的元素进行操作,通过getFilePointer()获取文件指针,
seek()设置文件指针,该类只能操作文件,操作文件时带有文件访问模式。数据分段写入的时候需要有规律。
只读 r,读取一个已存在的文件,如果文件不存在,抛出异常。
读写 rw,要操作的文件不存在,会自动创建,如果存在,不会覆盖。
6、操作基本数据类型: DataInputStream 、DataOutputStream
方法:writeUTF() 以UTF-8修改版的方式写入字符串数据,必须用readUTF()读取其数据
操作字节数组的流对象:用流的读写思想来操作数组。
7、ByteArrayInputStream :构造时,需接收数据源,数据源是一个字节数组
ByteArrayOutputStream:构造时,不用定义数据目的,该对象中已经内部封装了可变长度的字节数组。
这两个流对象都操作的数组,没有使用系统资源,不用close()关闭
操作字符数组流:CharArrayReader、 CharArrayWriter
操作字符串流对象:StringReader 、 StringWriter
8、字符编码:
字符流的出现为了方便操作字符,重要的是加入了编码转换
通过子类转换流完成 :InputStreamReader
、 OutputStreamWriter
,在对两个对象进行构造的时候可以加入字符集(编码表)。
ASCII :美国标准信息交换码:用一个字节的7位表示
UTF-8:最多用3个字节表示一个字符。
ISO8859-1: 欧洲编码
9、编码与解码
编码:字符串变成字节数组
解码:字节数组变成字符串
String àbyte[] : str.getBytes(String charsetName)
byte[] —>String : new String(byte[],String charsetName)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: