1000 lines · 39.0 KB · Java
RawDownload
     * into <code>b</code> starting at index <code>off</code>.     * If the end of the stream is reached, an <code>EOFException</code>     * will be thrown.     *     * <p> The bit offset within the stream is reset to zero before     * the read occurs.     *     * @param b an array of bytes to be written to.     * @param off the starting position within <code>b</code> to write to.     * @param len the maximum number of <code>byte</code>s to read.     *     * @exception IndexOutOfBoundsException if <code>off</code> is     * negative, <code>len</code> is negative, or <code>off +     * len</code> is greater than <code>b.length</code>.     * @exception NullPointerException if <code>b</code> is     * <code>null</code>.     * @exception EOFException if the stream reaches the end before     * reading all the bytes.     * @exception IOException if an I/O error occurs.     */    void readFully(byte[] b, int off, int len) throws IOException;     /**     * Reads <code>b.length</code> bytes from the stream, and stores them     * into <code>b</code> starting at index <code>0</code>.     * If the end of the stream is reached, an <code>EOFException</code>     * will be thrown.     *     * <p> The bit offset within the stream is reset to zero before     * the read occurs.     *     * @param b an array of <code>byte</code>s.     *     * @exception NullPointerException if <code>b</code> is     * <code>null</code>.     * @exception EOFException if the stream reaches the end before     * reading all the bytes.     * @exception IOException if an I/O error occurs.     */    void readFully(byte[] b) throws IOException;     /**     * Reads <code>len</code> shorts (signed 16-bit integers) from the     * stream according to the current byte order, and     * stores them into <code>s</code> starting at index     * <code>off</code>.  If the end of the stream is reached, an     * <code>EOFException</code> will be thrown.     *     * <p> The bit offset within the stream is reset to zero before     * the read occurs.     *     * @param s an array of shorts to be written to.     * @param off the starting position withinb to write to.     * @param len the maximum number of <code>short</code>s to read.     *     * @exception IndexOutOfBoundsException if <code>off</code> is     * negative, <code>len</code> is negative, or <code>off +     * len</code> is greater than <code>s.length</code>.     * @exception NullPointerException if <code>s</code> is     * <code>null</code>.     * @exception EOFException if the stream reaches the end before     * reading all the bytes.     * @exception IOException if an I/O error occurs.     */    void readFully(short[] s, int off, int len) throws IOException;     /**     * Reads <code>len</code> chars (unsigned 16-bit integers) from the     * stream according to the current byte order, and     * stores them into <code>c</code> starting at index     * <code>off</code>.  If the end of the stream is reached, an     * <code>EOFException</code> will be thrown.     *     * <p> The bit offset within the stream is reset to zero before     * the read occurs.     *     * @param c an array of chars to be written to.     * @param off the starting position withinb to write to.     * @param len the maximum number of <code>char</code>s to read.     *     * @exception IndexOutOfBoundsException if <code>off</code> is     * negative, <code>len</code> is negative, or <code>off +     * len</code> is greater than <code>c.length</code>.     * @exception NullPointerException if <code>c</code> is     * <code>null</code>.     * @exception EOFException if the stream reaches the end before     * reading all the bytes.     * @exception IOException if an I/O error occurs.     */    void readFully(char[] c, int off, int len) throws IOException;     /**     * Reads <code>len</code> ints (signed 32-bit integers) from the     * stream according to the current byte order, and     * stores them into <code>i</code> starting at index     * <code>off</code>.  If the end of the stream is reached, an     * <code>EOFException</code> will be thrown.     *     * <p> The bit offset within the stream is reset to zero before     * the read occurs.     *     * @param i an array of ints to be written to.     * @param off the starting position withinb to write to.     * @param len the maximum number of <code>int</code>s to read.     *     * @exception IndexOutOfBoundsException if <code>off</code> is     * negative, <code>len</code> is negative, or <code>off +     * len</code> is greater than <code>i.length</code>.     * @exception NullPointerException if <code>i</code> is     * <code>null</code>.     * @exception EOFException if the stream reaches the end before     * reading all the bytes.     * @exception IOException if an I/O error occurs.     */    void readFully(int[] i, int off, int len) throws IOException;     /**     * Reads <code>len</code> longs (signed 64-bit integers) from the     * stream according to the current byte order, and     * stores them into <code>l</code> starting at index     * <code>off</code>.  If the end of the stream is reached, an     * <code>EOFException</code> will be thrown.     *     * <p> The bit offset within the stream is reset to zero before     * the read occurs.     *     * @param l an array of longs to be written to.     * @param off the starting position withinb to write to.     * @param len the maximum number of <code>long</code>s to read.     *     * @exception IndexOutOfBoundsException if <code>off</code> is     * negative, <code>len</code> is negative, or <code>off +     * len</code> is greater than <code>l.length</code>.     * @exception NullPointerException if <code>l</code> is     * <code>null</code>.     * @exception EOFException if the stream reaches the end before     * reading all the bytes.     * @exception IOException if an I/O error occurs.     */    void readFully(long[] l, int off, int len) throws IOException;     /**     * Reads <code>len</code> floats (32-bit IEEE single-precision     * floats) from the stream according to the current byte order,     * and stores them into <code>f</code> starting at     * index <code>off</code>.  If the end of the stream is reached,     * an <code>EOFException</code> will be thrown.     *     * <p> The bit offset within the stream is reset to zero before     * the read occurs.     *     * @param f an array of floats to be written to.     * @param off the starting position withinb to write to.     * @param len the maximum number of <code>float</code>s to read.     *     * @exception IndexOutOfBoundsException if <code>off</code> is     * negative, <code>len</code> is negative, or <code>off +     * len</code> is greater than <code>f.length</code>.     * @exception NullPointerException if <code>f</code> is     * <code>null</code>.     * @exception EOFException if the stream reaches the end before     * reading all the bytes.     * @exception IOException if an I/O error occurs.     */    void readFully(float[] f, int off, int len) throws IOException;     /**     * Reads <code>len</code> doubles (64-bit IEEE double-precision     * floats) from the stream according to the current byte order,     * and stores them into <code>d</code> starting at     * index <code>off</code>.  If the end of the stream is reached,     * an <code>EOFException</code> will be thrown.     *     * <p> The bit offset within the stream is reset to zero before     * the read occurs.     *     * @param d an array of doubles to be written to.     * @param off the starting position withinb to write to.     * @param len the maximum number of <code>double</code>s to read.     *     * @exception IndexOutOfBoundsException if <code>off</code> is     * negative, <code>len</code> is negative, or <code>off +     * len</code> is greater than <code>d.length</code>.     * @exception NullPointerException if <code>d</code> is     * <code>null</code>.     * @exception EOFException if the stream reaches the end before     * reading all the bytes.     * @exception IOException if an I/O error occurs.     */    void readFully(double[] d, int off, int len) throws IOException;     /**     * Returns the current byte position of the stream.  The next read     * will take place starting at this offset.     *     * @return a long containing the position of the stream.     *     * @exception IOException if an I/O error occurs.     */    long getStreamPosition() throws IOException;     /**     * Returns the current bit offset, as an integer between 0 and 7,     * inclusive.  The bit offset is updated implicitly by calls to     * the <code>readBits</code> method.  A value of 0 indicates the     * most-significant bit, and a value of 7 indicates the least     * significant bit, of the byte being read.     *     * <p> The bit offset is set to 0 when a stream is first     * opened, and is reset to 0 by calls to <code>seek</code>,     * <code>skipBytes</code>, or any <code>read</code> or     * <code>readFully</code> method.     *     * @return an <code>int</code> containing the bit offset between     * 0 and 7, inclusive.     *     * @exception IOException if an I/O error occurs.     *     * @see #setBitOffset     */    int getBitOffset() throws IOException;     /**     * Sets the bit offset to an integer between 0 and 7, inclusive.     * The byte offset within the stream, as returned by     * <code>getStreamPosition</code>, is left unchanged.     * A value of 0 indicates the     * most-significant bit, and a value of 7 indicates the least     * significant bit, of the byte being read.     *     * @param bitOffset the desired offset, as an <code>int</code>     * between 0 and 7, inclusive.     *     * @exception IllegalArgumentException if <code>bitOffset</code>     * is not between 0 and 7, inclusive.     * @exception IOException if an I/O error occurs.     *     * @see #getBitOffset     */    void setBitOffset(int bitOffset) throws IOException;     /**     * Reads a single bit from the stream and returns it as an     * <code>int</code> with the value <code>0</code> or     * <code>1</code>.  The bit offset is advanced by one and reduced     * modulo 8.     *     * @return an <code>int</code> containing the value <code>0</code>     * or <code>1</code>.     *     * @exception EOFException if the stream reaches the end before     * reading all the bits.     * @exception IOException if an I/O error occurs.     */    int readBit() throws IOException;     /**     * Reads a bitstring from the stream and returns it as a     * <code>long</code>, with the first bit read becoming the most     * significant bit of the output.  The read starts within the byte     * indicated by <code>getStreamPosition</code>, at the bit given     * by <code>getBitOffset</code>.  The bit offset is advanced by     * <code>numBits</code> and reduced modulo 8.     *     * <p> The byte order of the stream has no effect on this     * method.  The return value of this method is constructed as     * though the bits were read one at a time, and shifted into     * the right side of the return value, as shown by the following     * pseudo-code:     *     * <pre>     * long accum = 0L;     * for (int i = 0; i < numBits; i++) {     *   accum <<= 1; // Shift left one bit to make room     *   accum |= readBit();     * }     * </pre>     *     * Note that the result of <code>readBits(32)</code> may thus not     * be equal to that of <code>readInt()</code> if a reverse network     * byte order is being used (i.e., <code>getByteOrder() ==     * false</code>).     *     * <p> If the end of the stream is encountered before all the bits     * have been read, an <code>EOFException</code> is thrown.     *     * @param numBits the number of bits to read, as an <code>int</code>     * between 0 and 64, inclusive.     * @return the bitstring, as a <code>long</code> with the last bit     * read stored in the least significant bit.     *     * @exception IllegalArgumentException if <code>numBits</code>     * is not between 0 and 64, inclusive.     * @exception EOFException if the stream reaches the end before     * reading all the bits.     * @exception IOException if an I/O error occurs.     */    long readBits(int numBits) throws IOException;     /**     * Returns the total length of the stream, if known.  Otherwise,     * <code>-1</code> is returned.     *     * @return a <code>long</code> containing the length of the     * stream, if known, or else <code>-1</code>.     *     * @exception IOException if an I/O error occurs.     */    long length() throws IOException;     /**     * Moves the stream position forward by a given number of bytes.  It     * is possible that this method will only be able to skip forward     * by a smaller number of bytes than requested, for example if the     * end of the stream is reached.  In all cases, the actual number     * of bytes skipped is returned.  The bit offset is set to zero     * prior to advancing the position.     *     * @param n an <code>int</code> containing the number of bytes to     * be skipped.     *     * @return an <code>int</code> representing the number of bytes skipped.     *     * @exception IOException if an I/O error occurs.     */    int skipBytes(int n) throws IOException;     /**     * Moves the stream position forward by a given number of bytes.     * This method is identical to <code>skipBytes(int)</code> except     * that it allows for a larger skip distance.     *     * @param n a <code>long</code> containing the number of bytes to     * be skipped.     *     * @return a <code>long</code> representing the number of bytes     * skipped.     *     * @exception IOException if an I/O error occurs.     */    long skipBytes(long n) throws IOException;     /**     * Sets the current stream position to the desired location.  The     * next read will occur at this location.  The bit offset is set     * to 0.     *     * <p> An <code>IndexOutOfBoundsException</code> will be thrown if     * <code>pos</code> is smaller than the flushed position (as     * returned by <code>getflushedPosition</code>).     *     * <p> It is legal to seek past the end of the file; an     * <code>EOFException</code> will be thrown only if a read is     * performed.     *     * @param pos a <code>long</code> containing the desired file     * pointer position.     *     * @exception IndexOutOfBoundsException if <code>pos</code> is smaller     * than the flushed position.     * @exception IOException if any other I/O error occurs.     */    void seek(long pos) throws IOException;     /**     * Marks a position in the stream to be returned to by a     * subsequent call to <code>reset</code>.  Unlike a standard     * <code>InputStream</code>, all <code>ImageInputStream</code>s     * support marking.  Additionally, calls to <code>mark</code> and     * <code>reset</code> may be nested arbitrarily.     *     * <p> Unlike the <code>mark</code> methods declared by the     * <code>Reader</code> and <code>InputStream</code> interfaces, no     * <code>readLimit</code> parameter is used.  An arbitrary amount     * of data may be read following the call to <code>mark</code>.     *     * <p> The bit position used by the <code>readBits</code> method     * is saved and restored by each pair of calls to     * <code>mark</code> and <code>reset</code>.     *     * <p> Note that it is valid for an <code>ImageReader</code> to call     * <code>flushBefore</code> as part of a read operation.     * Therefore, if an application calls <code>mark</code> prior to     * passing that stream to an <code>ImageReader</code>, the application     * should not assume that the marked position will remain valid after     * the read operation has completed.     */    void mark();     /**     * Returns the stream pointer to its previous position, including     * the bit offset, at the time of the most recent unmatched call     * to <code>mark</code>.     *     * <p> Calls to <code>reset</code> without a corresponding call     * to <code>mark</code> have no effect.     *     * <p> An <code>IOException</code> will be thrown if the previous     * marked position lies in the discarded portion of the stream.     *     * @exception IOException if an I/O error occurs.     */    void reset() throws IOException;     /**     * Discards the initial portion of the stream prior to the     * indicated postion.  Attempting to seek to an offset within the     * flushed portion of the stream will result in an     * <code>IndexOutOfBoundsException</code>.     *     * <p> Calling <code>flushBefore</code> may allow classes     * implementing this interface to free up resources such as memory     * or disk space that are being used to store data from the     * stream.     *     * @param pos a <code>long</code> containing the length of the     * stream prefix that may be flushed.     *     * @exception IndexOutOfBoundsException if <code>pos</code> lies     * in the flushed portion of the stream or past the current stream     * position.     * @exception IOException if an I/O error occurs.     */    void flushBefore(long pos) throws IOException;     /**     * Discards the initial position of the stream prior to the current     * stream position.  Equivalent to     * <code>flushBefore(getStreamPosition())</code>.     *     * @exception IOException if an I/O error occurs.     */    void flush() throws IOException;     /**     * Returns the earliest position in the stream to which seeking     * may be performed.  The returned value will be the maximum of     * all values passed into previous calls to     * <code>flushBefore</code>.     *     * @return the earliest legal position for seeking, as a     * <code>long</code>.     */    long getFlushedPosition();     /**     * Returns <code>true</code> if this <code>ImageInputStream</code>     * caches data itself in order to allow seeking backwards.     * Applications may consult this in order to decide how frequently,     * or whether, to flush in order to conserve cache resources.     *     * @return <code>true</code> if this <code>ImageInputStream</code>     * caches data.     *     * @see #isCachedMemory     * @see #isCachedFile     */    boolean isCached();     /**     * Returns <code>true</code> if this <code>ImageInputStream</code>     * caches data itself in order to allow seeking backwards, and     * the cache is kept in main memory.  Applications may consult     * this in order to decide how frequently, or whether, to flush     * in order to conserve cache resources.     *     * @return <code>true</code> if this <code>ImageInputStream</code>     * caches data in main memory.     *     * @see #isCached     * @see #isCachedFile     */    boolean isCachedMemory();     /**     * Returns <code>true</code> if this <code>ImageInputStream</code>     * caches data itself in order to allow seeking backwards, and     * the cache is kept in a temporary file.  Applications may consult     * this in order to decide how frequently, or whether, to flush     * in order to conserve cache resources.     *     * @return <code>true</code> if this <code>ImageInputStream</code>     * caches data in a temporary file.     *     * @see #isCached     * @see #isCachedMemory     */    boolean isCachedFile();     /**     * Closes the stream.  Attempts to access a stream that has been     * closed may result in <code>IOException</code>s or incorrect     * behavior.  Calling this method may allow classes implementing     * this interface to release resources associated with the stream     * such as memory, disk space, or file descriptors.     *     * @exception IOException if an I/O error occurs.     */    void close() throws IOException;}

Lines 501–1000 of 1000. Previous lines