public abstract class ImageInputStreamImpl extends Object implements ImageInputStream
ImageInputStream接口。 
       该类旨在减少子类必须实现的方法的数量。 
       特别地,该类处理大部分或全部字节顺序解释,缓冲,标记/复位,丢弃,关闭和处理的细节。
| Modifier and Type | Field and Description | 
|---|---|
| protected int | bitOffset
              流内的当前位偏移。 
             | 
| protected ByteOrder | byteOrder
              作为枚举类 
              java.nio.ByteOrder的实例的流的字节顺序,其中ByteOrder.BIG_ENDIAN指示网络字节顺序和ByteOrder.LITTLE_ENDIAN表示相反的顺序。 | 
| protected long | flushedPos
              可以丢弃数据的位置。 
             | 
| protected long | streamPos
              流内当前读取的位置。 
             | 
| Constructor and Description | 
|---|
| ImageInputStreamImpl()
              构造一个 
              ImageInputStreamImpl。 | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | checkClosed()
              如果流已关闭,则抛出一个 
              IOException。 | 
| void | close()
              关闭流。 
             | 
| protected void | finalize()
              在垃圾收集之前完成此对象。 
             | 
| void | flush()
              在当前流位置之前丢弃流的初始位置。 
             | 
| void | flushBefore(long pos)
              在指示的位置之前丢弃流的初始部分。 
             | 
| int | getBitOffset()
              返回当前的位偏移量,为0到7之间的整数,包括0和7。 
             | 
| ByteOrder | getByteOrder()
              作为 
              java.nio.ByteOrder枚举的实例,返回从该流读取数据值的字节顺序。 | 
| long | getFlushedPosition()
              返回可以执行搜索的流中的最早位置。 
             | 
| long | getStreamPosition()
              返回流的当前字节位置。 
             | 
| boolean | isCached()
              默认实现返回false。 
             | 
| boolean | isCachedFile()
              默认实现返回false。 
             | 
| boolean | isCachedMemory()
              默认实现返回false。 
             | 
| long | length()
              返回 
              -1L以表示该流具有未知长度。 | 
| void | mark()
              将当前流位置推送到标记位置的堆栈。 
             | 
| abstract int | read()
              从流中读取一个字节,并将其作为从0到255之间的 
              int返回。 | 
| int | read(byte[] b)
              一个方便的方法,调用 
              read(b, 0, b.length)。 | 
| abstract int | read(byte[] b, int off, int len)
              从流中读取最多 
              len个字节,并将它们存储在b从索引off开始。 | 
| int | readBit()
              从流中读取一个位,并将其作为 
              int返回,值为0或1。 | 
| long | readBits(int numBits)
              从流读取一个bitstring,并将其作为 
              long返回,第一位读取成为输出的最高有效位。 | 
| boolean | readBoolean()
              从流读取一个字节,如果非零,则返回 
              boolean值true,否则为false。 | 
| byte | readByte()
              从流中读取一个字节,并以 
              byte值返回。 | 
| void | readBytes(IIOByteBuffer buf, int len)
              从流中读取最多 
              len个字节,并修改提供的IIOByteBuffer以指示可能找到数据的字节数组,偏移量和长度。 | 
| char | readChar()
              相当于 
              readUnsignedShort,除了使用char数据类型返回结果。 | 
| double | readDouble()
              从流中读取8个字节,(在概念上)根据当前字节顺序连接它们,并将结果作为 
              double返回。 | 
| float | readFloat()
              从流中读取4个字节,(在概念上)根据当前字节顺序连接它们,并将结果作为 
              float返回。 | 
| void | readFully(byte[] b)
              从流中读取 
              b.length个字节,并将其存储在b从索引0开始。 | 
| void | readFully(byte[] b, int off, int len)
              从流中读取 
              len字节,并将它们存储在b从索引off开始。 | 
| void | readFully(char[] c, int off, int len)
              读取 
              len从根据当前字节顺序的流字符(无符号的16位整数),并将其存储到c开始于索引off。 | 
| void | readFully(double[] d, int off, int len)
              读取 
              len根据当前字节顺序从流双打(64位IEEE双精度浮点值),并且将它们存储到d开始于索引off。 | 
| void | readFully(float[] f, int off, int len)
              读取 
              len根据当前字节顺序从流浮标(32位IEEE单精度浮点值),并且将它们存储到f开始于索引off。 | 
| void | readFully(int[] i, int off, int len)
              读取 
              len从根据当前字节顺序的流整数(带符号的32位整数),并将其存储到i开始于索引off。 | 
| void | readFully(long[] l, int off, int len)
              读取 
              len从根据当前字节顺序的流long(有符号的64位整数),并将其存储到l开始于索引off。 | 
| void | readFully(short[] s, int off, int len)
              读取 
              len从根据当前字节顺序的流短裤(带符号的16位整数),并将其存储到s开始于索引off。 | 
| int | readInt()
              从流中读取4个字节,(在概念上)根据当前字节顺序连接它们,并以 
              int返回结果。 | 
| String | readLine()
              从输入流读取下一行文本。 
             | 
| long | readLong()
              从流中读取8个字节,(在概念上)根据当前字节顺序连接它们,并将结果作为 
              long返回。 | 
| short | readShort()
              从流读取两个字节,(在概念上)根据当前字节顺序连接它们,并以 
              short值返回结果。 | 
| int | readUnsignedByte()
              从流读取一个字节,并且(在概念上)将其转换为int,用 
              0xff屏蔽它,以便剥离任何符号扩展位,并将其作为byte值返回。 | 
| long | readUnsignedInt()
              从流中读取4个字节,(在概念上)根据当前字节顺序连接它们,将结果转换为长时间,使用 
              0xffffffffL屏蔽它,以便剥离任何符号扩展位,并将结果作为无符号long值。 | 
| int | readUnsignedShort()
              中读取两个字节从该流,并根据当前字节顺序(概念上)将其连接,将得到的值转换为 
              int,口罩它0xffff为了去掉所有符号扩展位,并返回结果以无符号int价值。 | 
| String | readUTF()
              读取已使用 
             modified UTF-8格式编码的字符串。 
             | 
| void | reset()
              从标记位置的堆栈中重置当前流字节和位位置。 
             | 
| void | seek(long pos)
              将当前流位置设置为所需位置。 
             | 
| void | setBitOffset(int bitOffset)
              将位偏移设置为0到7之间的整数,包括0和7。 
             | 
| void | setByteOrder(ByteOrder byteOrder)
              设置用于将来从该流读取数据值的字节顺序。 
             | 
| int | skipBytes(int n)
              通过致电 
              seek(getStreamPosition() + n)来seek(getStreamPosition() + n)当前流的位置。 | 
| long | skipBytes(long n)
              通过致电 
              seek(getStreamPosition() + n)当前的流位置。 | 
protected ByteOrder byteOrder
java.nio.ByteOrder的实例的流的字节顺序,其中ByteOrder.BIG_ENDIAN指示网络字节顺序和ByteOrder.LITTLE_ENDIAN表示相反的顺序。 
           默认值为ByteOrder.BIG_ENDIAN 。 
          protected long streamPos
protected int bitOffset
protected long flushedPos
flushedPos将永远是> = 0。 
          protected final void checkClosed()
                          throws IOException 
          IOException 。 
           子类可以从需要流不被关闭的任何方法调用此方法。 
          IOException - 如果流关闭。 
           public void setByteOrder(ByteOrder byteOrder)
ImageInputStream复制 
           枚举类java.nio.ByteOrder用于指定字节顺序。 ByteOrder.BIG_ENDIAN的值指定了所谓的大端或网元字节顺序,其中高位字节先到。 摩托罗拉和Sparc处理器以这种格式存储数据,而英特尔处理器以相反的顺序存储数据ByteOrder.LITTLE_ENDIAN 。 
 字节顺序对从readBits方法(或ImageOutputStream.writeBits写的值)返回的结果没有影响。 
setByteOrder在界面 
            ImageInputStream 
           byteOrder - 
            ByteOrder.BIG_ENDIAN或 
            java.nio.ByteOrder.LITTLE_ENDIAN ,指示网络字节顺序或其反向将用于将来读取。 
           ByteOrder , ImageInputStream.getByteOrder() , ImageInputStream.readBits(int) 
           public ByteOrder getByteOrder()
ImageInputStream复制 
          java.nio.ByteOrder枚举的实例,返回从该流读取数据值的字节顺序。 
          getByteOrder在接口 
            ImageInputStream 
           ByteOrder.BIG_ENDIAN或 
            ByteOrder.LITTLE_ENDIAN中的一个, 
            ByteOrder.BIG_ENDIAN正在使用哪个字节顺序。 
           ByteOrder , ImageInputStream.setByteOrder(java.nio.ByteOrder) 
           public abstract int read()
                  throws IOException 
          int 255之间0和如果达到EOF, -1被返回。 
           子类必须为此方法提供一个实现。 子类实现应该在退出之前更新流位置。
在发生读取之前,流内的位偏移必须重置为零。
read在接口 
            ImageInputStream 
           -1 。 
           IOException - 如果流已关闭。 
           public int read(byte[] b)
         throws IOException 
          read(b, 0, b.length) 。 
           在发生读取之前,流内的位偏移被重置为零。
read在接口 
            ImageInputStream 
           b - 要写入的字节数组。 
           -1表示EOF。 
           NullPointerException - 如果 
            b是 
            null 。 
           IOException - 如果发生I / O错误。 
           public abstract int read(byte[] b,
                         int off,
                         int len)
                  throws IOException 
          len从流字节,并将其存储到b开始于索引off 。 
           如果没有字节可以读取,因为已经到达流的末尾,则返回-1 。 
           在发生读取之前,流内的位偏移必须重置为零。
子类必须为此方法提供一个实现。 子类实现应该在退出之前更新流位置。
read在界面 
            ImageInputStream 
           b - 要写入的字节数组。 
           off - 起始位置在 
            b内写。 
           len - 要读取的最大字节数。 
           -1表示EOF。 
           IndexOutOfBoundsException - 如果 
            off为负数, 
            len ,否则为 
            off + len ,或 
            off + len大于 
            b.length 。 
           NullPointerException - 如果 
            b是 
            null 。 
           IOException - 如果发生I / O错误。 
           public void readBytes(IIOByteBuffer buf, int len) throws IOException
ImageInputStream复制 
          len个字节,并修改提供的IIOByteBuffer以指示可能找到数据的字节数组,偏移量和长度。 
           来电者不应尝试修改IIOByteBuffer找到的数据。 
           在发生读取之前,流内的位偏移被重置为零。
readBytes在界面 
            ImageInputStream 
           buf - 要修改的IIOByteBuffer对象。 
           len - 要阅读的最大数量为 
            byte 。 
           IOException - 如果发生I / O错误。 
           public boolean readBoolean()
                    throws IOException 
          ImageInputStream复制 
          boolean的值true如果是非零, false ,如果它是零。 
           在发生读取之前,流内的位偏移被重置为零。
readBoolean在界面 
            DataInput 
           readBoolean在界面 
            ImageInputStream 
           EOFException - 如果达到流的结尾。 
           IOException - 如果发生I / O错误。 
           public byte readByte()
              throws IOException 
          ImageInputStream复制 
          byte返回。 
           之间的字节值0x00和0x7f表示之间的整数值0和127 。 
           0x80和0xff之间的值代表从-128到/1 。 
           在发生读取之前,流内的位偏移被重置为零。
readByte在界面 
            DataInput 
           readByte在界面 
            ImageInputStream 
           EOFException - 如果达到流的结尾。 
           IOException - 如果发生I / O错误。 
           public int readUnsignedByte()
                     throws IOException 
          ImageInputStream复制 
          0xff进行掩码,以剥离任何符号扩展位,并将其作为byte返回。 
            因此, 0x00和0x7f之间的字节值简单地作为0和127之间的整数值返回。 0x80和0xff之间的值通常代表负数byte ,将被映射到128和255之间的正整数。 
在发生读取之前,流内的位偏移被重置为零。
readUnsignedByte在界面 
            DataInput 
           readUnsignedByte在界面 
            ImageInputStream 
           EOFException - 如果到达流的结尾。 
           IOException - 如果发生I / O错误。 
           public short readShort()
                throws IOException 
          ImageInputStream复制 
          short值返回结果。 
           在发生读取之前,流内的位偏移被重置为零。
readShort在界面 
            DataInput 
           readShort在界面 
            ImageInputStream 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           ImageInputStream.getByteOrder() 
           public int readUnsignedShort()
                      throws IOException 
          ImageInputStream复制 
          int对其进行0xffff ,以剥离任何符号扩展名,并将结果作为无符号返回价值int 。 
           在发生读取之前,流内的位偏移被重置为零。
readUnsignedShort在界面 
            DataInput 
           readUnsignedShort在界面 
            ImageInputStream 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           ImageInputStream.getByteOrder() 
           public char readChar()
              throws IOException 
          ImageInputStream复制 
          readUnsignedShort ,除了使用char数据类型返回结果。 
           在发生读取之前,流内的位偏移被重置为零。
readChar在界面 
            DataInput 
           readChar在界面 
            ImageInputStream 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           ImageInputStream.readUnsignedShort() 
           public int readInt()
            throws IOException 
          ImageInputStream复制 
          int返回结果。 
           流内的位偏移被忽略,并被视为零。
readInt在界面 
            DataInput 
           readInt在界面 
            ImageInputStream 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           ImageInputStream.getByteOrder() 
           public long readUnsignedInt()
                     throws IOException 
          ImageInputStream复制 
          0xffffffffL屏蔽它,以便剥离任何符号扩展位,并将结果作为无符号long值。 
           在发生读取之前,流内的位偏移被重置为零。
readUnsignedInt在界面 
            ImageInputStream 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           ImageInputStream.getByteOrder() 
           public long readLong()
              throws IOException 
          ImageInputStream复制 
          long返回。 
           在发生读取之前,流内的位偏移被重置为零。
readLong在界面 
            DataInput 
           readLong在界面 
            ImageInputStream 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           ImageInputStream.getByteOrder() 
           public float readFloat()
                throws IOException 
          ImageInputStream复制 
          float返回。 
           在发生读取之前,流内的位偏移被重置为零。
readFloat在界面 
            DataInput 
           readFloat在界面 
            ImageInputStream 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           ImageInputStream.getByteOrder() 
           public double readDouble()
                  throws IOException 
          ImageInputStream复制 
          double返回。 
           在发生读取之前,流内的位偏移被重置为零。
readDouble在界面 
            DataInput 
           readDouble在界面 
            ImageInputStream 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           ImageInputStream.getByteOrder() 
           public String readLine() throws IOException
ImageInputStream复制 
          String返回。 
           请注意,由于此方法处理字节,它不支持输入完整的Unicode字符集。 
            如果在甚至可以读取一个字节之前遇到文件结尾,则返回null 。 否则,每个所读取字节被转换为类型char由零扩展。 如果遇到'\n' '\n',则会被丢弃,读取停止。 如果遇到'\r' '\r',则会被丢弃,如果以下字节转换为字符'\n' ,则也将被丢弃; 阅读然后停止。 如果在遇到任何一个字符'\n'和'\r'之前遇到文件结尾,则读取停止。 一旦阅读已经停止,则返回一个String ,其中包含读取并且不被丢弃的所有字符。 请注意,此字符串中的每个字符的值都小于\u0100 ,即(char)256 。 
在发生读取之前,流内的位偏移被重置为零。
readLine在接口 
            DataInput 
           readLine在界面 
            ImageInputStream 
           IOException - 如果发生I / O错误。 
           public String readUTF() throws IOException
ImageInputStream复制 
          readUTF的一般合同是它读取以修改的UTF-8格式编码的Unicode字符串的表示; 
           这个字符串然后作为String返回。 
            首先,使用网络字节顺序(不考虑当前字节顺序设置),以readUnsignedShort方式的方式读取和使用两个字节构造无符号16位整数。 该整数值称为UTF长度 ,并指定要读取的其他字节数。 然后将这些字节通过组合考虑来转换为字符。 每组的长度根据组的第一个字节的值计算。 组之后的字节(如果有的话)是下一组的第一个字节。 
 如果一个组的第一个字节与位模式0xxxxxxx (其中x表示“可能是0或1 ”)相匹配,则该组由该字节组成。 该字节是零扩展形成一个字符。 
 如果一组的第一个字节与位模式110xxxxx匹配,则该组由该字节a和第二个字节b 。 如果没有字节b (因为字节a是要读取的最后一个字节),或者如果字节b与位模式10xxxxxx不匹配,则抛出UTFDataFormatException 。 否则,该组将转换为字符: 
   (char)(((a& 0x1F) << 6) | (b & 0x3F))   
           如果一组的第一个字节与位模式1110xxxx匹配,则该组由该字节a和两个以上字节b和c 。 
           如果没有字节c (因为字节a是要读取的最后两个字节之一),或者字节b或字节c与位模式10xxxxxx不匹配,则抛出UTFDataFormatException 。 
           否则,该组将转换为字符: 
            
              (char)(((a & 0x0F) << 12) | ((b & 0x3F) << 6) | (c & 0x3F))   
           如果一个组的第一个字节匹配模式1111xxxx或模式10xxxxxx ,则抛出一个UTFDataFormatException 。 
            如果在整个过程中随时遇到文件结尾,则抛出java.io.EOFException 。 
 在通过此过程将每个组转换为字符后,将以与输入流中读取相应组相同的顺序收集字符,以形成返回的String 。 
当前字节顺序设置被忽略。
在发生读取之前,流内的位偏移被重置为零。
注意:此方法不应用于执行使用标准UTF-8的图像格式,因为此处使用的修改后的UTF-8与标准UTF-8不兼容。
readUTF在界面 
            DataInput 
           readUTF在界面 
            ImageInputStream 
           EOFException - 如果此流在读取所有字节之前到达结束。 
           UTFDataFormatException - 如果字节不表示字符串的有效修改的UTF-8编码。 
           IOException - 如果发生I / O错误。 
           public void readFully(byte[] b,
                      int off,
                      int len)
               throws IOException 
          ImageInputStream复制 
          len个字节,并将其存储在b从索引off开始。 
           如果到达流的末尾,将抛出一个java.io.EOFException 。 
           在发生读取之前,流内的位偏移被重置为零。
readFully在界面 
            DataInput 
           readFully在界面 
            ImageInputStream 
           b - 要写入的字节数组。 
           off - 起始位置在 
            b内写。 
           len - 要阅读的最大数量为 
            byte 。 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           public void readFully(byte[] b)
               throws IOException 
          ImageInputStream复制 
          b.length从流字节,并将其存储到b开始于索引0 。 
           如果达到流的末尾,将抛出一个java.io.EOFException 。 
           在发生读取之前,流内的位偏移被重置为零。
readFully在界面 
            DataInput 
           readFully在界面 
            ImageInputStream 
           b -的阵列 
            byte秒。 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           public void readFully(short[] s,
                      int off,
                      int len)
               throws IOException 
          ImageInputStream复制 
          len短路(带符号的16位整数),并将它们存储在s从索引off开始。 
           如果达到流的末尾,将抛出java.io.EOFException 。 
           在发生读取之前,流内的位偏移被重置为零。
readFully在界面 
            ImageInputStream 
           s - 要写入的短裤阵列。 
           off - 起始位置在 
            s内写。 
           len - 要阅读的最大数量为 
            short 。 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           public void readFully(char[] c,
                      int off,
                      int len)
               throws IOException 
          ImageInputStream复制 
          len从根据当前字节顺序的流字符(无符号的16位整数),并将其存储到c开始于索引off 。 
           如果达到流的末尾,将抛出java.io.EOFException 。 
           在发生读取之前,流内的位偏移被重置为零。
readFully在界面 
            ImageInputStream 
           c - 要写入的字符数组。 
           off - 起始位置在 
            c内写。 
           len - 要阅读的最大数量为 
            char 。 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           public void readFully(int[] i,
                      int off,
                      int len)
               throws IOException 
          ImageInputStream复制 
          len从根据当前字节顺序的流整数(带符号的32位整数),并将其存储到i开始于索引off 。 
           如果达到流的末尾,将抛出一个java.io.EOFException 。 
           在发生读取之前,流内的位偏移被重置为零。
readFully在界面 
            ImageInputStream 
           i - 要写入的int数组。 
           off - 起始位置在 
            i内写。 
           len - 要阅读的最大数量为 
            int 。 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           public void readFully(long[] l,
                      int off,
                      int len)
               throws IOException 
          ImageInputStream复制 
          len长(有符号的64位整数),并将它们存储在l从索引off开始。 
           如果达到流的末尾,将抛出一个java.io.EOFException 。 
           在发生读取之前,流内的位偏移被重置为零。
readFully在界面 
            ImageInputStream 
           l - 要写入的数组。 
           off - 起始位置在 
            l内写。 
           len - 要阅读的最大数量为 
            long 。 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           public void readFully(float[] f,
                      int off,
                      int len)
               throws IOException 
          ImageInputStream复制 
          len根据当前字节顺序从流浮标(32位IEEE单精度浮点值),并且将它们存储到f开始于索引off 。 
           如果到达流的末尾,将抛出一个java.io.EOFException 。 
           在发生读取之前,流内的位偏移被重置为零。
readFully在界面 
            ImageInputStream 
           f - 要写入的浮点数组。 
           off - 起始位置在 
            f内写。 
           len - 要阅读的最大数量为 
            float 。 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           public void readFully(double[] d,
                      int off,
                      int len)
               throws IOException 
          ImageInputStream复制 
          len根据当前字节顺序从流双打(64位IEEE双精度浮点值),并且将它们存储到d开始于索引off 。 
           如果达到流的末尾,将抛出一个java.io.EOFException 。 
           在发生读取之前,流内的位偏移被重置为零。
readFully在界面 
            ImageInputStream 
           d - 要写入的双精度数组。 
           off - 起始位置在 
            d内写。 
           len - 要阅读的最大数量为 
            double 。 
           EOFException - 如果流在读取所有字节之前到达结束。 
           IOException - 如果发生I / O错误。 
           public long getStreamPosition()
                       throws IOException 
          ImageInputStream复制 
          getStreamPosition在界面 
            ImageInputStream 
           IOException - 如果发生I / O错误。 
           public int getBitOffset()
                 throws IOException 
          ImageInputStream复制 
          readBits方法readBits更新位偏移。 
           值为0表示最高有效位,值为7表示正在读取的字节的最低有效位。 
            位偏移量被设置为0时,流被第一次打开,并且通过调用复位为0至seek , skipBytes ,或任何read或readFully方法。 
getBitOffset在界面 
            ImageInputStream 
           int包含0和7之间的位偏移(包括0和7)。 
           IOException - 如果发生I / O错误。 
           ImageInputStream.setBitOffset(int) 
           public void setBitOffset(int bitOffset)
                  throws IOException 
          ImageInputStream复制 
          getStreamPosition返回的流内的字节偏移量保持不变。 
           值为0表示最高有效位,值为7表示正在读取的字节的最低有效位。 
          setBitOffset在界面 
            ImageInputStream 
           bitOffset -所需的偏移量,作为 
            int 0和7之间,包括端值。 
           IOException - 如果发生I / O错误 
           ImageInputStream.getBitOffset() 
           public int readBit()
            throws IOException 
          ImageInputStream复制 
          int与值0或1 。 
           位偏移前进一并减少模8。 
          readBit在界面 
            ImageInputStream 
           int包含值 
            0或 
            1 。 
           EOFException - 如果流在读取所有位之前到达结束。 
           IOException - 如果发生I / O错误。 
           public long readBits(int numBits)
              throws IOException 
          ImageInputStream复制 
          long返回,第一位读取成为输出的最高有效位。 
           读通过指定的字节内开始getStreamPosition ,在由给定的位getBitOffset 。 
           位偏移提前numBits并减少模8。 
           流的字节顺序对此方法没有影响。 该方法的返回值被构造为一次读取一个位,并且移位到返回值的右侧,如以下伪代码所示:
   long accum = 0L; for (int i = 0; i < numBits; i++) { accum <<= 1; // Shift left one bit to make room accum |= readBit(); }   
           需要注意的是的结果readBits(32)可因此不等于的readInt() ,如果正在使用的反向网络字节顺序(即, getByteOrder() == false )。 
            如果在读取所有位之前遇到流的结尾,则抛出java.io.EOFException 。 
readBits在界面 
            ImageInputStream 
           numBits -比特数来读取,作为 
            int 0至64,包括端值。 
           long与最后一位读取存储在最低有效位。 
           EOFException - 如果流在读取所有位之前到达结束。 
           IOException - 如果发生I / O错误。 
           public long length()
-1L以表示该流具有未知长度。 
           子类必须覆盖此方法以提供实际的长度信息。 
          length在界面 
            ImageInputStream 
           public int skipBytes(int n)
              throws IOException 
          seek(getStreamPosition() + n)提高当前的流位置。 
           位偏移重置为零。
skipBytes在界面 
            DataInput 
           skipBytes在界面 
            ImageInputStream 
           n - 要查找的字节数。 
           int表示跳过的字节数。 
           IOException - 如果 
            getStreamPosition在计算起始位置或结束位置时抛出 
            IOException 。 
           public long skipBytes(long n)
               throws IOException 
          seek(getStreamPosition() + n)提高当前的流位置。 
           位偏移重置为零。
skipBytes在界面 
            ImageInputStream 
           n - 要查找的字节数。 
           long代表跳过的字节数。 
           IOException - 如果 
            getStreamPosition在计算起始位置或结束位置时抛出 
            IOException 。 
           public void seek(long pos)
          throws IOException 
          ImageInputStream复制 
           一个IndexOutOfBoundsException如果将被抛出pos比冲洗位置(如通过返回较小getflushedPosition )。 
 寻求文件结尾是合法的; 一个java.io.EOFException会,如果执行读取只抛出。 
seek在界面 
            ImageInputStream 
           pos - 一个 
            long所需文件指针位置的long。 
           IOException - 如果发生任何其他I / O错误。 
           public void mark()
mark在界面 
            ImageInputStream 
           public void reset()
           throws IOException 
           一个IOException如果先前的标记位置位于流的丢弃部分将被抛出。 
reset在界面 
            ImageInputStream 
           IOException - 如果发生I / O错误。 
           public void flushBefore(long pos)
                 throws IOException 
          ImageInputStream复制 
          IndexOutOfBoundsException 。 
            调用flushBefore可能允许实现此接口的类释放用于存储数据流的内存或磁盘空间等资源。 
flushBefore在界面 
            ImageInputStream 
           pos - 一个 
            long其中包含可能被刷新的流前缀的长度。 
           IOException - 如果发生I / O错误。 
           public void flush()
           throws IOException 
          ImageInputStream复制 
          flushBefore(getStreamPosition()) 。 
          flush在界面 
            ImageInputStream 
           IOException - 如果发生I / O错误。 
           public long getFlushedPosition()
ImageInputStream复制 
          flushBefore 。 
          getFlushedPosition在界面 
            ImageInputStream 
           long 。 
           public boolean isCached()
isCached在界面 
            ImageInputStream 
           true如果这个 
            ImageInputStream缓存数据。 
           ImageInputStream.isCachedMemory() , 
            ImageInputStream.isCachedFile() 
           public boolean isCachedMemory()
isCachedMemory在界面 
            ImageInputStream 
           true如果这个 
            ImageInputStream缓存数据在主内存中。 
           ImageInputStream.isCached() , 
            ImageInputStream.isCachedFile() 
           public boolean isCachedFile()
isCachedFile在界面 
            ImageInputStream 
           true如果这个 
            ImageInputStream缓存一个临时文件中的数据。 
           ImageInputStream.isCached() , 
            ImageInputStream.isCachedMemory() 
           public void close()
           throws IOException 
          ImageInputStream复制 
          IOException或不正确的行为。 
           调用此方法可能允许实现此接口的类释放与流相关的资源,如内存,磁盘空间或文件描述符。 
          close在界面 
            Closeable 
           close在界面 
            AutoCloseable 
           close在界面 
            ImageInputStream 
           IOException - 如果发生I / O错误。 
           protected void finalize()
                 throws Throwable 
          close方法来关闭任何打开的输入源。 
           不应该从应用程序代码调用此方法。 
          finalize在类别 
            Object 
           Throwable - 如果在超类最终化期间发生错误。 
           WeakReference , PhantomReference 
            Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.