亚洲av色香蕉一区二区三区,十四以下岁毛片带血a级,亚洲 校园 欧美 国产 另类,亚洲av日韩av一区谷露,色欲av无码一区二区三区

  • 相關(guān)軟件
    >DataInputStream 創(chuàng)建者:webmaster 更新時(shí)間:2005-12-17 04:38

    數(shù)據(jù)輸入流可以使一個(gè)應(yīng)用程序以與機(jī)器無(wú)關(guān)的方式從基本輸入流中讀取 Java 的基本數(shù)據(jù)類型。應(yīng)用程序使用一個(gè)數(shù)據(jù)輸出流輸出數(shù)據(jù),以后可使用一個(gè)數(shù)據(jù)輸入流讀入。

    數(shù)據(jù)輸入流和數(shù)據(jù)輸出流以稍加修訂的 UTF-8 格式表示 Unicode 字符串。 (關(guān)于更詳細(xì)信息,請(qǐng)參看 X/Open Company Ltd., “文件系統(tǒng)安全 UCS 轉(zhuǎn)換格式 (FSS_UTF)”, X/Open 初步規(guī)范, 文檔號(hào):P316。這個(gè)信息也出現(xiàn)在 ISO/IEC 10646, Annex P。)

    所有在 '\u0001''\u007F' 之間的字符被表示為一個(gè)單字節(jié):

    0 位 0-7

    Null 字符 '\u0000' 和從 '\u0080''\u07FF' 之間的字符被表示為兩個(gè)字節(jié):

    1 1 0 位 6-10
    1 0 位 0-5

    '\u0800''\uFFFF' 之間的字符被表示為三個(gè)字節(jié):
    1 1 1 0 位 12-15
    1 0 位 6-11
    1 0 位 0-5

    這種格式與“標(biāo)準(zhǔn)的”UTF-8 格式的區(qū)別如下:

    • Null 字符 '\u0000' 用兩個(gè)字節(jié)而不是一個(gè)字節(jié)格式編碼,所以編碼后的字符串永不會(huì)包含空字符。
    • 只使用 1-字節(jié)、2-字節(jié)、3-字節(jié)格式。

    類 java.io.DataInputStream

    類 java.io.DataInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----java.io.FilterInputStream
                       |
                       +----java.io.DataInputStream
    

    public class DataInputStream
    extends FilterInputStream
    implements DataInput
    來自:
    JDK1.0
    參見:
    DataOutputStream

    構(gòu)造子索引

    DataInputStream(InputStream)
    創(chuàng)建一個(gè)新的數(shù)據(jù)輸入流,從指定輸入流中讀取數(shù)據(jù)。

    方法索引

    read(byte[])
    將當(dāng)前數(shù)據(jù)輸入流中 byte.length 個(gè)字節(jié)數(shù)據(jù)讀到一個(gè)字節(jié)數(shù)組中。
    read(byte[], int, int)
    將當(dāng)前數(shù)據(jù)輸入流中 len 個(gè)字節(jié)數(shù)據(jù)讀入一個(gè)字節(jié)數(shù)組中。
    readBoolean()
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè) boolean 值。
    readByte()
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè)有符號(hào)的 8 位數(shù)。
    readChar()
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè) Unicode 字符。
    readDouble()
    從當(dāng)前數(shù)據(jù)輸入流中讀一個(gè) double 值。
    readFloat()
    從當(dāng)前數(shù)據(jù)輸入流中讀一個(gè) float 值。
    readFully(byte[])
    從當(dāng)前數(shù)據(jù)輸入流中讀取 b.length 個(gè)字節(jié)到該字節(jié)數(shù)組。
    readFully(byte[], int, int)
    從當(dāng)前數(shù)據(jù)輸入流中恰好讀取 len 個(gè)字節(jié)到該字節(jié)數(shù)組中。
    readInt()
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè)有符號(hào)的 32 位整數(shù)。
    readLine()
    從當(dāng)前數(shù)據(jù)輸入流中讀取文本的下一行。 不推薦使用該方法。
    readLong()
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè)有符號(hào)的 64 位整數(shù)。
    readShort()
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè)有符號(hào)的 16 位數(shù)。
    readUnsignedByte()
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè)無(wú)符號(hào)的 8 位數(shù)。
    readUnsignedShort()
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè)無(wú)符號(hào)的 16 位數(shù)。
    readUTF()
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè)已用“修訂的 UTF-8 格式”編碼的字符串。
    readUTF(DataInput)
    從指定的數(shù)據(jù)輸入流中讀取一個(gè)字符串。
    skipBytes(int)
    準(zhǔn)確地跳過基本輸入流中的 n 字節(jié)。

    構(gòu)造子

    DataInputStream
     public DataInputStream(InputStream in)
    
    創(chuàng)建一個(gè)新的數(shù)據(jù)輸入流,從指定輸入流中讀取數(shù)據(jù)。

    參數(shù):
    in - 輸入流。

    方法

    read
     public final int read(byte b[]) throws IOException
    
    將當(dāng)前數(shù)據(jù)輸入流中 byte.length 個(gè)字節(jié)數(shù)據(jù)讀到一個(gè)字節(jié)數(shù)組中。 這個(gè)方法將阻塞直到有輸入數(shù)據(jù)可用。

    DataInputStreamread 方法,用三個(gè)參數(shù) b, 0b.length 調(diào)用它的基本輸入流的具有三個(gè)參數(shù)的 read 方法, 且將它的返回值返回。

    參數(shù):
    b - 讀取數(shù)據(jù)的緩沖區(qū)。
    返回值:
    讀入緩存區(qū)的字節(jié)總數(shù);如果已讀到流尾不再有數(shù)據(jù)可讀則為 -1。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    覆蓋:
    FilterInputStream 中的 read
    參見:
    in, read
    read
     public final int read(byte b[],
                       int off,
                     int len) throws IOException
    
    將當(dāng)前數(shù)據(jù)輸入流中 len 個(gè)字節(jié)數(shù)據(jù)讀入一個(gè)字節(jié)數(shù)組中。 這個(gè)方法將阻塞直到有輸入數(shù)據(jù)可用。

    DataInputStreamread 方法,用相同參數(shù)調(diào)用它的基本輸入流中的 read 方法, 且將此方法的返回值返回。

    參數(shù):
    b - 讀取數(shù)據(jù)的緩沖區(qū)。
    off - 讀取數(shù)據(jù)的起始偏移。
    len - 讀取的最大字節(jié)數(shù)。
    返回值:
    讀入緩存區(qū)的字節(jié)總數(shù);如果已讀到流尾不再有數(shù)據(jù)可讀則為 -1。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    覆蓋:
    FilterInputStream 中的 read
    參見:
    in, read
    readFully
     public final void readFully(byte b[]) throws IOException
    
    從當(dāng)前數(shù)據(jù)輸入流中讀取 b.length 個(gè)字節(jié)到該字節(jié)數(shù)組。 這個(gè)方法將重復(fù)從基本流中讀取數(shù)據(jù),直到讀入所有的字節(jié)。 該方法將一直阻塞,直到所有的字節(jié)數(shù)據(jù)被讀入,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    參數(shù):
    b - 讀取數(shù)據(jù)的緩沖區(qū)。
    拋出: EOFException
    如果在讀入所有的字節(jié)前到達(dá)了文件尾。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    參見:
    in
    readFully
     public final void readFully(byte b[],
                       int off,
                     int len) throws IOException
    
    從當(dāng)前數(shù)據(jù)輸入流中恰好讀取 len 個(gè)字節(jié)到該字節(jié)數(shù)組中。 這個(gè)方法將重復(fù)從基本流中讀取數(shù)據(jù),直到讀入所有的字節(jié)。 該方法將一直阻塞,直到所有的字節(jié)數(shù)據(jù)被讀入,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    參數(shù):
    b - 讀取數(shù)據(jù)的緩沖區(qū)。
    off - 讀取數(shù)據(jù)的起始偏移。
    len - 待讀入的字節(jié)數(shù)。
    拋出: EOFException
    如果在讀入所有的字節(jié)前到達(dá)了文件尾。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    參見:
    in
    skipBytes
     public final int skipBytes(int n) throws IOException
    
    準(zhǔn)確地跳過基本輸入流中的 n個(gè)字節(jié)。該方法將一直阻塞,直到所有的字節(jié)數(shù)據(jù)被跳過,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    參數(shù):
    n - 跳過的字節(jié)數(shù)。
    返回值:
    跳過的字節(jié)數(shù),總為 n
    拋出: EOFException
    如果在跳過所有的字節(jié)前到達(dá)了文件尾。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    readBoolean
     public final boolean readBoolean() throws IOException
    
    從當(dāng)前數(shù)據(jù)輸入流中讀一個(gè) boolean 值。 此方法從基本輸入流中讀入一個(gè)單字節(jié)。 0 表示 false。 任一其它值表示 true 。 該方法將一直阻塞,直到該字節(jié)數(shù)據(jù)被讀入,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    返回值:
    讀入的boolean值。
    拋出: EOFException
    如果當(dāng)前輸入流已到達(dá)文件尾。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    參見:
    in
    readByte
     public final byte readByte() throws IOException
    
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè)有符號(hào)的 8 位數(shù)。 此方法從基本輸入流中讀入一個(gè)字節(jié)。 如果讀入的字節(jié)是 b, 且 0 <= b <= 255, 那么結(jié)果是:
      (byte)(b)

    該方法將一直阻塞,直到該字節(jié)數(shù)據(jù)被讀入,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    返回值:
    當(dāng)前輸入流的作為一個(gè)有符號(hào) 8 位byte 的下一個(gè)字節(jié)。
    拋出: EOFException
    如果當(dāng)前輸入流已到達(dá)文件尾。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    參見:
    in
    readUnsignedByte
     public final int readUnsignedByte() throws IOException
    
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè)無(wú)符號(hào)的 8 位數(shù)。 此方法從當(dāng)前數(shù)據(jù)輸入流的基本輸入流中讀入一個(gè)字節(jié),并返回它。 該方法將一直阻塞,直到此字節(jié)被讀入,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    返回值:
    當(dāng)前輸入流的下一個(gè)字節(jié),解釋為一個(gè)無(wú)符號(hào)的 8 位數(shù)。
    拋出: EOFException
    如果當(dāng)前輸入流已到達(dá)文件尾。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    參見:
    in
    readShort
     public final short readShort() throws IOException
    
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè)有符號(hào)的 16 位數(shù)。 此方法從基本輸入流中讀入兩個(gè)字節(jié)。 如果讀入的兩個(gè)字節(jié),順序?yàn)?b1b2, 均在 0255之間, 那么結(jié)果等于:
      (short)((b1 << 8) | b2)

    該方法將一直阻塞,直到此兩個(gè)字節(jié)數(shù)據(jù)被讀入,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    返回值:
    當(dāng)前輸入流的下兩個(gè)字節(jié),解釋為一個(gè)有符號(hào)的 16 位數(shù)。
    拋出: EOFException
    如果在讀入兩個(gè)字節(jié)前到達(dá)了文件尾。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    參見:
    in
    readUnsignedShort
     public final int readUnsignedShort() throws IOException
    
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè)無(wú)符號(hào)的 16 位數(shù)。 此方法從基本輸入流中讀入兩個(gè)字節(jié)。 如果讀入的字節(jié),順序?yàn)?b1b2, 滿足 0 <= b1, b2 <= 255, 那么結(jié)果等于:
      (b1 << 8) | b2

    該方法將一直阻塞,直到此兩個(gè)字節(jié)數(shù)據(jù)被讀入,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    返回值:
    當(dāng)前輸入流的下兩個(gè)字節(jié),解釋為一個(gè)無(wú)符號(hào)的 16 位數(shù)。
    拋出: EOFException
    如果在讀入兩個(gè)字節(jié)前到達(dá)了文件尾。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    參見:
    in
    readChar
     public final char readChar() throws IOException
    
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè) Unicode 字符。 此方法從基本輸入流中讀入兩個(gè)字節(jié)。 如果讀入的字節(jié),順序?yàn)?b1b2, 滿足 0 <= b1, b1 <= 255, 那么結(jié)果等于:
      (char)((b1 << 8) | b2)

    該方法將一直阻塞,直到此兩個(gè)字節(jié)數(shù)據(jù)被讀入,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    返回值:
    當(dāng)前輸入流的下兩個(gè)字節(jié),作為一個(gè) Unicode 字符。
    拋出: EOFException
    如果在讀入兩個(gè)字節(jié)前到達(dá)了文件尾。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    參見:
    in
    readInt
     public final int readInt() throws IOException
    
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè)有符號(hào)的 32 位整數(shù)。 此方法從基本輸入流中讀入四個(gè)字節(jié)。 如果讀入的字節(jié),順序?yàn)?b1, b2,b3b4, 滿足 0 <= b1, b2,b3,b4 <= 255, 那么結(jié)果等于:
      (b1 << 24) | (b2 << 16) + (b3 << 8) +b4

    該方法將一直阻塞,直到此四個(gè)字節(jié)數(shù)據(jù)被讀入,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    返回值:
    當(dāng)前輸入流的下四個(gè)字節(jié),解釋為一個(gè) int。
    拋出: EOFException
    如果在讀入四個(gè)字節(jié)前到達(dá)了文件尾。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    參見:
    in
    readLong
     public final long readLong() throws IOException
    
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè)有符號(hào)的 64 位整數(shù)。 此方法從基本輸入流中讀入八個(gè)字節(jié)。 如果讀入的字節(jié),順序?yàn)? b1, b2, b3, b4, b5, b6, b7, 和 b8,當(dāng):
      0 <= b1, b2, b3, b4, b5, b6, b7, b8 <= 255,

    相應(yīng)的結(jié)果等于:

         ((long)b1 << 56) + ((long)b2 << 48) +
            ((long)b3 << 40) + ((long)b4 << 32) +
            ((long)b5 << 24) + (b6 << 16) +
            (b7 << 8) + b8
     

    該方法將一直阻塞,直到此八個(gè)字節(jié)數(shù)據(jù)被讀入,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    返回值:
    當(dāng)前輸入流的下八個(gè)字節(jié),解釋為一個(gè) long。
    拋出: EOFException
    如果在讀入八個(gè)字節(jié)前到達(dá)了文件尾。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    參見:
    in
    readFloat
     public final float readFloat() throws IOException
    
    從當(dāng)前數(shù)據(jù)輸入流中讀一個(gè) float 值。 這個(gè)方法與 readInt 方法一樣讀取一個(gè) int 值,然后使用類 FloatintBitsToFloat 方法將這個(gè) int 轉(zhuǎn)換為一個(gè) float 值。 該方法將一直阻塞,直到此四個(gè)字節(jié)數(shù)據(jù)被讀入,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    返回值:
    當(dāng)前輸入流的下四個(gè)字節(jié),解釋為一個(gè) float。
    拋出: EOFException
    如果在讀入四個(gè)字節(jié)前到達(dá)了文件尾。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    參見:
    readInt, intBitsToFloat
    readDouble
     public final double readDouble() throws IOException
    
    從當(dāng)前數(shù)據(jù)輸入流中讀一個(gè) double 值。 這個(gè)方法同 readLong 方法一樣讀取一個(gè) long 值,然后使用類 Double 中的 longBitsToDouble 方法將這個(gè) long 轉(zhuǎn)換為一個(gè) double。

    該方法將一直阻塞,直到此八個(gè)字節(jié)數(shù)據(jù)被讀入,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    返回值:
    當(dāng)前輸入流的下八個(gè)字節(jié),解釋為一個(gè) double
    拋出: EOFException
    如果在讀入八個(gè)字節(jié)前到達(dá)了文件尾。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    參見:
    readLong, longBitsToDouble
    readLine
     public final String readLine() throws IOException
    
    注意:不推薦使用 readLine() 方法。 該方法不能恰當(dāng)?shù)匕炎止?jié)轉(zhuǎn)換成字符。 同 JDK 1.1 版中的類似,讀取文本行的最佳方法是采用 BufferedReader.readLine() 方法。 使用類 DataInputStream 讀取行的程序,能轉(zhuǎn)換為使用 類 BufferedReader 的代碼,通過置換以下代碼
      DataInputStream d = new DataInputStream(in);
      BufferedReader d = new BufferedReader(new InputStreamReader(in));

    從當(dāng)前數(shù)據(jù)輸入流中讀取文本的下一行。 這個(gè)方法連續(xù)地從基本輸入流中讀取字節(jié)直到一個(gè)文本行的末尾。

    一個(gè)文本行結(jié)束于一個(gè)回車符('\r'), 一個(gè)換行符 ('\n'), 一個(gè)回車符緊跟一個(gè)換行符或輸入流的末尾。 如果有行結(jié)束符,則它將作為返回串的一部分。

    該方法將一直阻塞,直到讀取了一個(gè)換行符、一個(gè)回車符、或緊跟回車符的換行符,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    返回值:
    當(dāng)前輸入流的下一行文本;如果在到達(dá)文件尾前沒有可再讀取的字節(jié),則為 null。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    參見:
    readLine, in
    readUTF
     public final String readUTF() throws IOException
    
    從當(dāng)前數(shù)據(jù)輸入流中讀取一個(gè)已用“修訂的 UTF-8 格式”編碼的串。 這個(gè)方法調(diào)用 readUTF(this)。關(guān)于此格式的更完整描述請(qǐng)參見 readUTF(java.io.DataInput)。

    該方法將一直阻塞,直到所有的字節(jié)數(shù)據(jù)被讀入,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    返回值:
    一個(gè) Unicode 串。
    拋出: EOFException
    如果在讀入所有的字節(jié)前到達(dá)了文件尾。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    參見:
    readUTF
    readUTF
     public static final String readUTF(DataInput in) throws IOException
    
    從指定的數(shù)據(jù)輸入流中讀取一個(gè)串。 這個(gè)串已用“修訂的 UTF-8 格式”編碼。

    前兩個(gè)字節(jié)以同 readUnsignedShort 方法一樣的機(jī)制被讀入。這個(gè)值給出了編碼字符串中剩余的字節(jié)數(shù)(注:不是結(jié)果字符串的長(zhǎng)度)。然后剩余的字節(jié)被看作是已用 UTF-8 格式編碼的字符,并且被轉(zhuǎn)換為字符。

    該方法將一直阻塞,直到所有的字節(jié)數(shù)據(jù)被讀入,或檢測(cè)到了數(shù)據(jù)流尾或拋出異常。

    參數(shù):
    in - 一個(gè)數(shù)據(jù)輸入流。
    返回值:
    一個(gè) Unicode 串。
    拋出: EOFException
    如果在讀入所有的字節(jié)前到達(dá)了文件尾。
    拋出: IOException
    如果發(fā)生某個(gè) I/O 錯(cuò)誤。
    拋出: UTFDataFormatException
    如果此字節(jié)不表示一個(gè) Unicode 串的合法 UTF-8 編碼。
    參見:
    readUnsignedShort
    相關(guān)文章
    本頁(yè)查看次數(shù):