# Java.io.DataInputStream类 - Java.io包
Java.io.DataInputStream 类允许应用程序读取在与机器无关方式从底层输入流基本Java数据类型。以下是有关数据输入流的要点:
* 应用程序使用数据输出流写入,以后可以通过一个数据输入流中读取数据。
* 数据输入流并不一定是安全的多线程访问。线程安全是可选的,在这个类中的方法用户的责任。
## 类声明
以下是java.io.DataInputStream类的声明:
```
public class DataInputStream
extends FilterInputStream
implements DataInput
```
## 字段
以下是java.io.DataInputStream类中的字段:
* **protected InputStream in** -- 这是将输入流进行过滤。
## 类的构造函数
| S.N. | 构造函数与说明 |
| --- | --- |
| 1 | **DataInputStream(InputStream in) ** 这将创建一个DataInputStream使用指定的底层InputStream。 |
## 类方法
| S.N. | 方法 & 描述 |
| --- | --- |
| 1 | [int read(byte[] b) ](http://www.yiibai.com/java/io/datainputstream_read.html) 此方法从包含的输入流中读取字节数部分,并将它们存储到缓冲区数组b |
| 2 | [int read(byte[] b, int off, int len) ](http://www.yiibai.com/java/io/datainputstream_read_len.html) 此方法读取最多len个从包含的输入流的数据字节为字节数组。 |
| 3 | [boolean readBoolean() ](http://www.yiibai.com/java/io/datainputstream_readboolean.html) 此方法读取一个输入字节,如果该字节不为零返回true,如果该字节是零则返回false。 |
| 4 | [byte readByte() ](http://www.yiibai.com/java/io/datainputstream_readbyte.html) 此方法读取并返回一个输入字节。 |
| 5 | [char readChar() ](http://www.yiibai.com/java/io/datainputstream_raedchar.html) 此方法读取两个输入字节并返回一个char值。 |
| 6 | [double readDouble() ](http://www.yiibai.com/java/io/datainputstream_readdouble.html) 此方法读取八个输入字节并返回一个double值。 |
| 7 | [float readFloat() ](http://www.yiibai.com/java/io/datainputstream_readfloat.html) 此方法读取四个输入字节并返回一个float值。 |
| 8 | [void readFully(byte[] b) ](http://www.yiibai.com/java/io/datainputstream_readfully.html) 此方法读取从输入流的一些字节,并将它们存储到缓冲区数组b中。 |
| 9 | [void readFully(byte[] b, int off, int len) ](http://www.yiibai.com/java/io/datainputstream_readfully_len.html) 此方法从输入流读取len个字节。 |
| 10 | [int readInt() ](http://www.yiibai.com/java/io/datainputstream_readint.html) 此方法读取四个输入字节并返回一个int值。 |
| 11 | [long readLong() ](http://www.yiibai.com/java/io/datainputstream_readlong.html) 此方法读取八个输入字节并返回一个长整型值。 |
| 12 | [short readShort() ](http://www.yiibai.com/java/io/datainputstream_readshort.html) 此方法读取两个输入字节并返回一个short值。 |
| 13 | [int readUnsignedByte() ](http://www.yiibai.com/java/io/datainputstream_readunsignedbyte.html) 此方法读取一个输入字节,零扩展到int类型,并返回结果,所以结果的范围是从0到255。 |
| 14 | [int readUnsignedShort() ](http://www.yiibai.com/java/io/datainputstream_readunsignedshort.html) 此方法读取两个输入字节,并通过返回在范围0-65535的int值。 |
| 15 | [String readUTF() ](http://www.yiibai.com/java/io/datainputstream_readutf.html) 此方法读取在已使用UTF-8修改版格式编码的字符串。 |
| 16 | [static String readUTF(DataInput in) ](http://www.yiibai.com/java/io/datainputstream_readutf_in.html) 此方法读取来自编码经修订的UTF-8格式的Unicode字符串的表示数据流;这串字符接着返回一个字符串。 |
| 17 | [int skipBytes(int n) ](http://www.yiibai.com/java/io/datainputstream_skipbytes.html) 此方法使得试图从输入流中的数据跳过n个字节,丢弃跳过的字节。 |
## 继承的方法
这个类继承自以下类方法:
* Java.io.FilterInputStream
* Java.io.Object