FilterInputStream-001

          FilterInputStream及其派生类有两项重要任务。DataInputStream可以读取各种primitive及String。(所有的方法都以"read"打头,比如readByte( ), readFloat( ))。它,以及它的搭档DataOutputStream,能让你通过流将primitive数据从一个地方导到另一个地方。 其它的类都是用来修改InputStream的内部行为的:是不是做缓冲,是不是知道它所读取的行信息(允许你读取行号或设定行号),是不是会弹出单个字符。后两个看上去更像是给编译器用的(也就是说,它们大概是为Java编译器设计的),所以通常情况下,你是不大会用到它们的。 不论你用哪种I/O设备,输入的时候,最好都做缓冲。所以对I/O类库来说,比较明智的做法还是把不缓冲当特例(或者去直接调用方法),而不是像现在这样把缓冲当作特例。

 

构造函数的参数功能用法
DataInputStreamInputStream与DataOutputStream配合使用,这样你就能以一种"可携带的方式(portable fashion)"从流里读取primitives了(int,char,long等)包含了一整套读取primitive数据的接口。
BufferedInputStreamInputStream,以及可选的缓冲区的容量用这个类来解决"每次要用数据的时候都要进行物理读取"的问题。你的意思是"用缓冲区。"它本身并不提供接口,只是提供一个缓冲区。需要连到一个"有接口的对象(interface object)"。
LineNumberInputStreamInputStream跟踪输入流的行号;有getLineNumber( )和setLineNumber(int)方法只是加一个行号,所以还得连一个"有接口的对象"。
PushbackInputStreamInputStream有一个"弹压单字节"的缓冲区(has a one byte push-back buffer),这样你就能把最后读到的那个字节再压回去了。主要用于编译器的扫描程序。可能是为支持Java的编译器而设计的。用的机会不多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值