缓冲流、转换流、序列化流、打印流

一、缓冲流
缓冲流也叫高效流,是对基础的四个流(FileInputStream、FileOutputStream、FileReader、FileWriter)增强,
分类:
字节缓冲流:BufferedInputStream、BufferedOutputStream
字符缓冲流:BufferedReader、BufferedWriter
缓冲流的基本原理:是在创建流对象的时候,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高效率

字节缓冲输入流:构造方法:
拥有InputStream超类的基础方法之外,自己特有的构造方法
BufferedInputStream(InputStream in)创建一个BufferedInputStream并保存其参数,输入流in给以后使用
BufferesInputStream(InputStream in,int size):创建具有BufferedInputStream缓冲区大小的BufferedInputStream并保存其参数,输入流in以后使用,长度为size的内部缓冲区阵列被创建并存在buf中

字节缓冲输出流:构造方法:
拥有OutputStream超类的基础方法和自己特有的构造方法:
BufferedOutputStream(OutputStream out):创建一个新的缓冲输出流,以将数据写入指定的底层输出流
BufferedOutputStream(OutputStream out,int size):创建一个新的缓冲输出流,以便自定的缓冲区大小将数据写入指定底层输出流

字符缓冲输入流:(BufferedReader)具有父类FileReader的基础的一些方法之外,还具有自己特殊的方法:
BufferedReader(Reader in):创建使用默认大小的输入缓冲区的缓冲区字符输入流
BufferedReader(Reader in,in size):创建使用指定大小的输入流的缓冲区字符输入流
特殊方法:
public String readLine() throws IOException 读一行文字

字符缓冲输出流:(BufferedWriter):具有父类FileWriter的基础的一些方法之外,还具有自己特有的构造方法:
BufferedWriter(Buffered in):创建默认大小的输出流输出缓冲区字符输出流
BufferedWriter(BufferedWriter in,int size):创建指定大小的输出流输出环球字符输出流
特有方法:
public void newLine() throws IOException 写一行分隔符

二、转换流
编码:按照某种给i在,将字符存储到计算机中
解码:将存储在计算机中的二进制数据按照某种规则解析显示出来
字符编码:Character Encoding:就是一套自然语言的字符和二进制数之间的对应规则

字符集:(Charse):编码表:是一个习题支持的所有字符的集合,包括各国文字、标点符号、图形字符好、数字等
常见的字符集:ASCII字符集、GBK字符集、Unicode字符集

使用FileReade读取文本文件内容出现乱码,这就需要引入InputStreamReader类,用于读取字节,不会出现乱码现象,

InputStreamReader类:Reader的子类,作用:读取字节,并使用对应的解码表对其解码为字符,它的字符集可以指定或者是系统默认的字符集,
构造方法:
public InputStreamReader(InputStream in,String charseName)throws UnsuportedEncodingException 创建一个使用命名字符集的InputStreamRedaaer
注意:构造方法中指定的编码表要和文件的编码表相同,否则乱码

OutputStreamWriter类:Writer的子类,作用:字符流到字节流的桥梁,使用指定的字符集将字符编为字节,它的字符集可以指定,也可以默认系统的字符集
构造方法:
public OutputStream(OutputStream out,String charseName) throws UnsupportedEncodingException创建一个使用命名字符集的OutputStream的指定的编码名称,不区分大小写,uft-8/UTF-8/;gbk/GBK
不指定编码默认使用uft-8

序列化流
java中提供了一种对象的序列化机制,用一个字节序列可以表示一个对象,该字节序列包含对象的数据、对象类型、对象中存储的属性等信息,字节序列写出到文件之后,相当于文件中持久保存一个对象的信息,反之,该字节序列化可以从文件中读取出来,重构对象,进行反序列化,对象的数据、对象的类型、对象中存储的数据信息,都可以在内存中创建

序列化:
java.io.OutputStream
java.io.ObjectOutputStream
构造方法
public ObjectOutputStream(OutputStream out) throws IOException创建一个写入指定的OutputStream的ObjectOutputStream<

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值