java I/O 流知识点总结

 

 

输入和输出

1.是个抽象的概念,它代表任何由能力产出数据的数据源对象或者是有能力接收数据的接收端对象。“流”屏蔽了实际的I/O设备中处理数据的细节。
2.通过继承,任何自InputStreamReader派生而来的类都含有名为read()的基本方法,用于读取单个字节或者字节数组。同样,任何自OutputStreamWriter派生而来的类都含有名为write()的方法名,用于写单个字节或者字节数组。
3.使用的特点:创建单一的结果流,却需要创建多个对象。

一.InputStream类型

1.InputStream的作用是用来表示那些从不同数据源产生输入的类。每一种数据源都有相应的InputStream子类:

 

二.OutputStream类型

1.该类别的类决定了输出所要去往的目标:

添加属性和有用的接口

1.FilterInputStreamFilterOutputStream是用来提供装饰器类接口以控制特定输入流河输出流的两个类,着两个类是装饰器的必要条件。

一.通过FilterInputStream从InputStream中读取数据

1.FilterInputStream类能够完成两种不同的事情:第一种是DataInputStream,这种类允许我们读取不同基本类型数据以及String对象,搭配相应的DataInputStream,我们就可以将基本类型的数据从一个地方迁移到另一个地方;另一种则在内部修改FilterInputStream的行为方式:是否缓冲,是否保留它所读过的行,以及是否把单一字符推回输入流等等:

二.通过FilterOutputStream向OutputStream写入

1.DataOutputStream与上面的DataInputStream相对应。
2.PrintStream的目的便是为了以可视化的格式打印所有的基本数据类型以及String对象。内部有两个重要的方法:print()println()。对它们进行了重载,以便打印出各种数据类型。
3.BufferedOutputStream,它对数据流使用缓冲技术;因此当每次向流写入时,不必每次都进行实际的物理写动作。

Reader和Writer

1.InputStreamOutputStream在以面向字节形式的I/O中可以提供极有价值的功能,ReaderWriter则提供兼容Unicode与面向字符的I/O功能。
2.InputStreamReader可以把InputStream转换为Reader,而OutputStreamWriter可以把OutputStream转换为Writer。这样就可以把来自于“字节”层次结构中的类和“字符”层次结构中的类结合起来使用。

一.数据的来源和去处

1.在使用I/O流的时候,最明智的做法是尽量尝试使用ReaderWriter,一旦程序代码无法编译成功,就不得不使用面向字节的类库。
2.下面的表中展示了各种两种不同层次结构中,信息的来源和去处的对应关系:

二.更改流的行为

1.在更改“流”的行为方面,WriterReader的类继承层次结构继续沿用了和InputStreamOutputStream的思想——使用“装饰器”来修改“流”的特殊需要:

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值