缓冲流、转换流、打印流

一、缓冲流:提高读写速度
字节缓冲流:BufferedInputStream BufferedOutputStream
字符缓冲流:BufferedReader BufferedWriter
构造方法:
public BufferedInputStream(InputStream in);参数为字节输入流。创建一个新的字节缓冲输入流。
public BufferedOutputStream(OutputStream out);参数为字节输出流。创建一个新的字节缓冲输出流。
public BufferedReader(Reader in):参数为字符输入流。创建一个新的字符缓冲输入流
public BufferedWriter(Writer out);参数为字符输出流。创建一个新的字符缓冲输出流。(字符输出流在写的时候需要刷新)

字符缓冲流特有的方法:
BufferedReader:public String readLine():读一行文字
BufferedWriter:public void newLine():写一行行分隔符

二、转换流:解决Windows和idea编码不一致的问题
构造方法:
InputStreamReader(InputStream in);创建使用默认字符集的字节输入流
InputStreamReader(InputStream in,String charsetName);创建一个指定字符集的字节输入流
OutputStreamWriter(OutputStream out):创建使用默认字符集的字节输出流
OutputStreamWriter(OutputStream out,String charsetName);创建一个指定字符集的字节输出流

序列化:将对象写入到指定的文件中
public ObjectOutputStream(OutputStream out),参数为字节输出流(将对象写入),
public final void writeObject(Object obj);将指定的对象写到指定的文件中
序列化操作的条件:1、序列化对象必须实现Serializable接口
2、对象的属性必须是可序列化的,如果某个属性不需要可序列化,则该属性使用transient关键字修饰。

反序列化:将序列化得文件反序列化为程序中的对象
public ObjectInputStream(InputStream in);参数是字节输入流
public final Object readObject();读取一个对象
在反序列化的过程中涉及到一个序列化版本号的问题。当对象序列化以后,对象发生修改, 然后再进行反序列化就会
报异常:InvalidClassException
解决这个问题就是在对象里设置一个固定的版本号,用private static final long serialVersionUID=1;修饰

三、打印流;
构造方法;
public PrintStream(String fileName);打印到文件中
printStream(OutputStream out);参数传递输出流参数
printStream(File file);传递File类型参数

调用方法;print();println()
改变打印流的流向:static void setOut(printStream out);参数是字节流。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值