通过FilterInputStream从InputStream里读入数据[Java编程]
本文“通过FilterInputStream从InputStream里读入数据[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
FilterInputStream类要完成两件全然差别的事情.此中,DataInputStream答应我们读取差别的基本范例数据以及String对象(全部办法都以“read”开首,比方readByte(),readFloat()等等).伴随对应的DataOutputStream,我们可通过数据“流”将基本范例的数据从一个地方搬到另一个地方.这些“地方”是由表10.1总结的那些类决意的.若读取块内的数据,并自己举行解析,就不需求用到DataInputStream.但在其他很多情形下,我们普通都想用它对自己读入的数据举行自动格局化.
剩下的类用于改正InputStream的内部行为方法:能否举行缓冲,能否跟踪自己读入的数据行,以及能否可以推回一个字符等等.后两种类看起来分外象供应对构建一个编译器的支持(换言之,增添它们为了支持Java编译器的构建),所以在通例编程中普通都用不着它们.
大概几近每次都要缓冲自己的输入,无论衔接的是哪个IO设备.所以IO库最明智的做法就是将未缓冲输入作为一种特别情形处理,同时将缓冲输入采取为尺度做法.
表10.3 FilterInputStream的范例
Class |
Function |
Constructor Arguments |
How to use it |
||
Data-InputStream |
Used in concert with DataOutputStream, so you can read primitives (int, char, long, etc.) from a stream in a portable fashion. |
InputStream |
Contains a full interface to allow you to read primitive types. |
Buffered-InputStream |
Use this to prevent a physical read every time you want more data. You’re saying “Use a buffer.” |
InputStream, with optional buffer size. |
This doesn’t provide an interface per se, just a requirement that a buffer be used. Attach an interface object. |
||
LineNumber-InputStream |
Keeps track of line numbers in the input stream; you can call getLineNumber() and setLineNumber(int). |
InputStream |
This just adds line numbering, so you’ll probably attach an interface object. |
||
Pushback-InputStream |
Has a one byte push-back buffer so that you can push back the last character read. |
InputStream |
Generally used in the scanner for a compiler and probably included because the Java compiler needed it. You probably won’t use this. |
类 功效 构建器参数/若何利用
DataInputStream 与DataOutputStream结合利用,使自己能以机动方法读取一个流中的基本数据范例(int,char,long等等) InputStream/包含了一个完好的接口,以便读取基本数据范例
BufferedInputStream 避免每次想要更大都据时都举行物理性的读取,奉告它“请先在缓冲区里找” InputStream,没有可选的缓冲区大小/本身并不能供应一个接口,只是发出利用缓冲区的要求.要求同一个接口对象衔接到一同
LineNumberInputStream 跟踪输入流中的行号;可调用getLineNumber()以及setLineNumber(int) 只是增添对数据行编号的本领,所以大概需求同一个真正的接口对象衔接
PushbackInputStream 有一个字节的后推缓冲区,以便后推读入的上一个字符 InputStream/普通由编译器在扫描器中利用,因为Java编译器需求它.普通不在自己的代码中利用.
以上是“通过FilterInputStream从InputStream里读入数据[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |