新聞中心
DataInputStream

成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司是一家服務(wù)多年做網(wǎng)站建設(shè)策劃設(shè)計(jì)制作的公司,為廣大用戶提供了做網(wǎng)站、成都做網(wǎng)站,成都網(wǎng)站設(shè)計(jì),廣告投放平臺(tái),成都做網(wǎng)站選成都創(chuàng)新互聯(lián)公司,貼合企業(yè)需求,高性價(jià)比,滿足客戶不同層次的需求一站式服務(wù)歡迎致電。
java.lang.Object
|---java.io.InputStream
|---|---java.io.FilterInputStream
|---|---|---java.io.DataInputStream
public class DataInputStream
extends FilterInputStream
implements DataInput數(shù)據(jù)輸入流允許應(yīng)用程序以與機(jī)器無關(guān)的方式從底層輸入流中讀取原始 Java 數(shù)據(jù)類型。 應(yīng)用程序使用數(shù)據(jù)輸出流寫入數(shù)據(jù),這些數(shù)據(jù)稍后可以由數(shù)據(jù)輸入流讀取。
DataInputStream 對于多線程訪問不一定是安全的。 線程安全是可選的,并且是此類中方法的用戶的責(zé)任。
Since:
JDK1.0
字段摘要
| 從類 java.io.FilterInputStream 繼承的字段 |
|---|
| in |
構(gòu)造函數(shù)摘要
| 構(gòu)造函數(shù) | 描述 |
|---|---|
| DataInputStream(InputStream in) | 創(chuàng)建一個(gè)使用指定基礎(chǔ) InputStream 的 DataInputStream。 |
方法總結(jié)
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| int | read(byte[] b) | 從包含的輸入流中讀取一些字節(jié)并將它們存儲(chǔ)到緩沖區(qū)數(shù)組中 b。 |
| int | read(byte[] b, int off, int len) | 從包含的輸入流中讀取最多 len 個(gè)字節(jié)的數(shù)據(jù)到一個(gè)字節(jié)數(shù)組中。 |
| boolean | readBoolean() | 請參閱 DataInput 的 readBoolean 方法的一般約定。 |
| byte | readByte() | 請參閱 DataInput 的 readByte 方法的一般約定。 |
| char | readChar() | 請參閱 DataInput 的 readChar 方法的一般約定。 |
| double | readDouble() | 請參閱 DataInput 的 readDouble 方法的一般約定。 |
| float | readFloat() | 請參閱 DataInput 的 readFloat 方法的一般約定。 |
| void | readFully(byte[] b) | 請參閱 DataInput 的 readFully 方法的一般約定。 |
| void | readFully(byte[] b, int off, int len) | 請參閱 DataInput 的 readFully 方法的一般約定。 |
| int | readInt() | 請參閱 DataInput 的 readInt 方法的一般約定。 |
| String | readLine() | 已棄用。 此方法不能正確地將字節(jié)轉(zhuǎn)換為字符。 從 JDK 1.1 開始,讀取文本行的首選方法是通過 BufferedReader.readLine() 方法。 使用 DataInputStream 類讀取行的程序可以通過替換形式的代碼轉(zhuǎn)換為使用 BufferedReader 類 |
| long | readLong() | 請參閱 DataInput 的 readLong 方法的一般約定。 |
| short | readShort() | 請參閱 DataInput 的 readShort 方法的一般約定。 |
| int | readUnsignedByte() | 請參閱 DataInput 的 readUnsignedByte 方法的一般約定。 |
| int | readUnsignedShort() | 請參閱 DataInput 的 readUnsignedShort 方法的一般約定。 |
| String | readUTF() | 請參閱 DataInput 的 readUTF 方法的一般約定。 |
| static String | readUTF(DataInput in) | 從流中讀取以修改的 UTF-8 格式編碼的 Unicode 字符串的表示形式; 然后這個(gè)字符串作為字符串返回。 |
| int | skipBytes(int n) | 請參閱 DataInput 的 skipBytes 方法的一般協(xié)定。 |
| 從類 java.io.FilterInputStream 繼承的方法 |
|---|
| available, close, mark, markSupported, read, reset, skip |
| 從類 java.lang.Object 繼承的方法 |
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
構(gòu)造函數(shù)詳細(xì)信息
DataInputStream
public DataInputStream(InputStream in)
創(chuàng)建一個(gè)使用指定基礎(chǔ) InputStream 的 DataInputStream。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| in | 指定的輸入流 |
方法詳情
read
public final int read(byte[] b) throws IOException
從包含的輸入流中讀取一些字節(jié)并將它們存儲(chǔ)到緩沖區(qū)數(shù)組中 b。 實(shí)際讀取的字節(jié)數(shù)以整數(shù)形式返回。 在輸入數(shù)據(jù)可用、檢測到文件結(jié)尾或引發(fā)異常之前,此方法會(huì)一直阻塞。
如果 b 為 null,則拋出 NullPointerException。 如果 b 的長度為零,則不讀取任何字節(jié)并返回 0; 否則,將嘗試讀取至少一個(gè)字節(jié)。 如果由于流位于文件末尾而沒有可用字節(jié),則返回值 -1; 否則,至少讀取一個(gè)字節(jié)并將其存儲(chǔ)到 b 中。
讀取的第一個(gè)字節(jié)存儲(chǔ)在元素 b[0] 中,下一個(gè)字節(jié)存儲(chǔ)在 b[1] 中,依此類推。 讀取的字節(jié)數(shù)最多等于 b 的長度。 設(shè) k 為實(shí)際讀取的字節(jié)數(shù); 這些字節(jié)將存儲(chǔ)在元素 b[0] 到 b[k-1] 中,而元素 b[k] 到 b[b.length-1] 不受影響。
read(b) 方法具有與以下相同的效果:
read(b, 0, b.length) 覆蓋:
讀入類 FilterInputStream
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| b | 讀取數(shù)據(jù)的緩沖區(qū)。 |
返回:
讀入緩沖區(qū)的總字節(jié)數(shù),如果由于到達(dá)流的末尾而沒有更多數(shù)據(jù),則為 -1。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果第一個(gè)字節(jié)由于文件結(jié)尾以外的任何原因無法讀取,則流已關(guān)閉并且底層輸入流不支持關(guān)閉后讀取,或者發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
read
public final int read(byte[] b, int off, int len) throws IOException
從包含的輸入流中讀取最多 len 個(gè)字節(jié)的數(shù)據(jù)到一個(gè)字節(jié)數(shù)組中。嘗試讀取多達(dá) len 個(gè)字節(jié),但可能會(huì)讀取較小的字節(jié)數(shù),可能為零。實(shí)際讀取的字節(jié)數(shù)以整數(shù)形式返回。
在輸入數(shù)據(jù)可用、檢測到文件結(jié)尾或引發(fā)異常之前,此方法會(huì)一直阻塞。
如果 len 為零,則不讀取任何字節(jié)并返回 0;否則,將嘗試讀取至少一個(gè)字節(jié)。如果由于流位于文件末尾而沒有可用字節(jié),則返回值 -1;否則,至少讀取一個(gè)字節(jié)并將其存儲(chǔ)到 b 中。
讀取的第一個(gè)字節(jié)存儲(chǔ)在元素 b[off] 中,下一個(gè)字節(jié)存儲(chǔ)在 b[off+1] 中,依此類推。讀取的字節(jié)數(shù)最多等于 len。設(shè) k 為實(shí)際讀取的字節(jié)數(shù);這些字節(jié)將存儲(chǔ)在元素 b[off] 到 b[off+k-1] 中,而元素 b[off+k] 到 b[off+len-1] 不受影響。
在每種情況下,元素 b[0] 到 b[off] 和元素 b[off+len] 到 b[b.length-1] 都不受影響。
覆蓋:
讀入類 FilterInputStream
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| b | 讀取數(shù)據(jù)的緩沖區(qū)。 |
| off | 目標(biāo)數(shù)組 b 中的起始偏移量 |
| len | 讀取的最大字節(jié)數(shù)。 |
返回:
讀入緩沖區(qū)的總字節(jié)數(shù),如果由于到達(dá)流的末尾而沒有更多數(shù)據(jù),則為 -1。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果 b 為空。 |
| IndexOutOfBoundsException | 如果 off 為負(fù)數(shù),len 為負(fù)數(shù),或者 len 大于 b.length - off |
| IOException | 如果第一個(gè)字節(jié)由于文件結(jié)尾以外的任何原因無法讀取,則流已關(guān)閉并且底層輸入流不支持關(guān)閉后讀取,或者發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
readFully
public final void readFully(byte[] b) throws IOException
請參閱 DataInput 的 readFully 方法的一般約定。
此操作的字節(jié)從包含的輸入流中讀取。
指定者:
接口 DataInput 中的 readFully
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| b | 讀取數(shù)據(jù)的緩沖區(qū)。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| EOFException | 如果此輸入流在讀取所有字節(jié)之前到達(dá)末尾。 |
| IOException | 流已關(guān)閉且包含的輸入流不支持關(guān)閉后讀取,或發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
readFully
public final void readFully(byte[] b, int off, int len) throws IOException
請參閱 DataInput 的 readFully 方法的一般約定。
此操作的字節(jié)從包含的輸入流中讀取。
指定者:
接口 DataInput 中的 readFully
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| b | 讀取數(shù)據(jù)的緩沖區(qū)。 |
| off | 數(shù)據(jù)的起始偏移量。 |
| len | 要讀取的字節(jié)數(shù)。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| EOFException | 如果此輸入流在讀取所有字節(jié)之前到達(dá)末尾。 |
| IOException | 流已關(guān)閉且包含的輸入流不支持關(guān)閉后讀取,或發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
skipBytes
public final int skipBytes(int n) throws IOException
請參閱 DataInput 的 skipBytes 方法的一般協(xié)定。
此操作的字節(jié)從包含的輸入流中讀取。
指定者:
接口 DataInput 中的 skipBytes
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| n | 要跳過的字節(jié)數(shù)。 |
返回:
跳過的實(shí)際字節(jié)數(shù)。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果包含的輸入流不支持查找,或者流已經(jīng)關(guān)閉并且包含的輸入流不支持關(guān)閉后的讀取,或者發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
readBoolean
public final boolean readBoolean() throws IOException
請參閱 DataInput 的 readBoolean 方法的一般約定。
此操作的字節(jié)從包含的輸入流中讀取。
指定者:
接口 DataInput 中的 readBoolean
返回:
讀取的布爾值。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| EOFException | 如果這個(gè)輸入流已經(jīng)結(jié)束。 |
| IOException | 流已關(guān)閉且包含的輸入流不支持關(guān)閉后讀取,或發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
readByte
public final byte readByte() throws IOException
請參閱 DataInput 的 readByte 方法的一般約定。
此操作的字節(jié)從包含的輸入流中讀取。
指定者:
接口 DataInput 中的 readByte
返回:
此輸入流的下一個(gè)字節(jié)為有符號的 8 位字節(jié)。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| EOFException | 如果這個(gè)輸入流已經(jīng)結(jié)束。 |
| IOException | 流已關(guān)閉且包含的輸入流不支持關(guān)閉后讀取,或發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
readUnsignedByte
public final int readUnsignedByte() throws IOException
請參閱 DataInput 的 readUnsignedByte 方法的一般約定。
此操作的字節(jié)從包含的輸入流中讀取。
指定者:
接口 DataInput 中的 readUnsignedByte
返回:
此輸入流的下一個(gè)字節(jié),解釋為無符號 8 位數(shù)。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| EOFException | 如果這個(gè)輸入流已經(jīng)結(jié)束。 |
| IOException | 流已關(guān)閉且包含的輸入流不支持關(guān)閉后讀取,或發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
readShort
public final short readShort() throws IOException
請參閱 DataInput 的 readShort 方法的一般約定。
此操作的字節(jié)從包含的輸入流中讀取。
指定者:
接口 DataInput 中的 readShort
返回:
此輸入流的下兩個(gè)字節(jié),解釋為帶符號的 16 位數(shù)。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| EOFException | 如果此輸入流在讀取兩個(gè)字節(jié)之前到達(dá)末尾。 |
| IOException | 流已關(guān)閉且包含的輸入流不支持關(guān)閉后讀取,或發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
readUnsignedShort
public final int readUnsignedShort() throws IOException
請參閱 DataInput 的 readUnsignedShort 方法的一般約定。
此操作的字節(jié)從包含的輸入流中讀取。
指定者:
接口 DataInput 中的 readUnsignedShort
返回:
此輸入流的下兩個(gè)字節(jié),解釋為無符號 16 位整數(shù)。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| EOFException | 如果此輸入流在讀取兩個(gè)字節(jié)之前到達(dá)末尾。 |
| IOException | 流已關(guān)閉且包含的輸入流不支持關(guān)閉后讀取,或發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
readChar
public final char readChar() throws IOException
請參閱 DataInput 的 readChar 方法的一般約定。
此操作的字節(jié)從包含的輸入流中讀取。
指定者:
接口 DataInput 中的 readChar
返回:
此輸入流的下兩個(gè)字節(jié),解釋為 char。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| EOFException | 如果此輸入流在讀取兩個(gè)字節(jié)之前到達(dá)末尾。 |
| IOException | 流已關(guān)閉且包含的輸入流不支持關(guān)閉后讀取,或發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
readInt
public final int readInt() throws IOException
請參閱 DataInput 的 readInt 方法的一般約定。
此操作的字節(jié)從包含的輸入流中讀取。
指定者:
接口 DataInput 中的 readInt
返回:
此輸入流的下四個(gè)字節(jié),解釋為 int。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| EOFException | 如果此輸入流在讀取四個(gè)字節(jié)之前到達(dá)末尾。 |
| IOException | 流已關(guān)閉且包含的輸入流不支持關(guān)閉后讀取,或發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
readLong
public final long readLong() throws IOException
請參閱 DataInput 的 readLong 方法的一般約定。
此操作的字節(jié)從包含的輸入流中讀取。
指定者:
接口 DataInput 中的 readLong
返回:
此輸入流的接下來的 8 個(gè)字節(jié),解釋為 long。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| EOFException | 如果此輸入流在讀取八個(gè)字節(jié)之前到達(dá)末尾。 |
| IOException | 流已關(guān)閉且包含的輸入流不支持關(guān)閉后讀取,或發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
readFloat
public final float readFloat() throws IOException
請參閱 DataInput 的 readFloat 方法的一般約定。
此操作的字節(jié)從包含的輸入流中讀取。
指定者:
接口 DataInput 中的 readFloat
返回:
此輸入流的下四個(gè)字節(jié),解釋為浮點(diǎn)數(shù)。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| EOFException | 如果此輸入流在讀取四個(gè)字節(jié)之前到達(dá)末尾。 |
| IOException | 流已關(guān)閉且包含的輸入流不支持關(guān)閉后讀取,或發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
readDouble
public final double readDouble() throws IOException
請參閱 DataInput 的 readDouble 方法的一般約定。
此操作的字節(jié)從包含的輸入流中讀取。
指定者:
接口 DataInput 中的 readDouble
返回:
此輸入流的接下來的八個(gè)字節(jié),解釋為雙精度。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| EOFException | 如果此輸入流在讀取八個(gè)字節(jié)之前到達(dá)末尾。 |
| IOException | 流已關(guān)閉且包含的輸入流不支持關(guān)閉后讀取,或發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
readLine
@Deprecated public final String readLine() throws IOException
已棄用。 此方法不能正確地將字節(jié)轉(zhuǎn)換為字符。 從 JDK 1.1 開始,讀取文本行的首選方法是通過 BufferedReader.readLine() 方法。 使用 DataInputStream 類讀取行的程序可以通過替換形式的代碼轉(zhuǎn)換為使用 BufferedReader 類:
DataInputStream d = new DataInputStream(in); with:
BufferedReader d
= new BufferedReader(new InputStreamReader(in));請參閱 DataInput 的 readLine 方法的一般約定。
此操作的字節(jié)從包含的輸入流中讀取。
指定者:
接口 DataInput 中的 readLine
返回:
此輸入流中的下一行文本。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤。 |
readUTF
public final String readUTF() throws IOException
請參閱 DataInput 的 readUTF 方法的一般約定。
此操作的字節(jié)從包含的輸入流中讀取。
指定者:
接口 DataInput 中的 readUTF
返回:
一個(gè) Unicode 字符串。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| EOFException | 如果此輸入流在讀取所有字節(jié)之前到達(dá)末尾。 |
| IOException | 流已關(guān)閉且包含的輸入流不支持關(guān)閉后讀取,或發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
| UTFDataFormatException | 如果字節(jié)不代表字符串的有效修改 UTF-8 編碼。 |
readUTF
public static final String readUTF(DataInput in) throws IOException
從流中讀取以修改的 UTF-8 格式編碼的 Unicode 字符串的表示形式; 然后這個(gè)字符串作為字符串返回。 修改后的 UTF-8 表示的細(xì)節(jié)與 DataInput 的 readUTF 方法完全相同。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| in | 一個(gè)數(shù)據(jù)輸入流。 |
返回:
一個(gè) Unicode 字符串。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| EOFException | 如果輸入流在所有字節(jié)之前到達(dá)末尾。 |
| IOException | 流已關(guān)閉且包含的輸入流不支持關(guān)閉后讀取,或發(fā)生另一個(gè) I/O 錯(cuò)誤。 |
| UTFDataFormatException | 如果字節(jié)不代表 Unicode 字符串的有效修改 UTF-8 編碼。 |
分享標(biāo)題:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSDataInputStream
文章鏈接:http://m.5511xx.com/article/cdigehh.html


咨詢
建站咨詢
