Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.birt.core.archive
Class RAFileInputStream

    java.lang.Object
      java.io.InputStream
          org.eclipse.birt.core.archive.RAInputStream
              org.eclipse.birt.core.archive.RAFileInputStream

All Implemented Interfaces:
  java.io.Closeable

    public class RAFileInputStream

extends RAInputStream

Constructor Summary
`RAFileInputStream(java.io.RandomAccessFile parentFile, long startPos, long endPos)`

Method Summary
`int` | `available()` Returns the number of bytes that can be read (or skipped over) from this random access input stream without blocking by the next caller of a method for this input stream.
`long` | `getOffset()`
`long` | `getStreamLength()`
`long` | `length()`
`int` | `read()` The same behavior as InputStream.read(). Reads the next byte of data from the input stream.
`int` | `read(byte[] b, int off, int len)` The same behavior as InputStream.read(byte b[], int off, int len ). Reads up to len bytes of data from the input stream into an array of bytes.
`void` | `readFully(byte[] b, int off, int len)` The same behavior as RandomAccessFile.readFully(byte b[], int off, int len) Reads exactly `len` bytes from this file into the byte array, starting at the current file pointer.
`int` | `readInt()` The same behavior as RandomAccessFile.readInt().
`long` | `readLong()` Reads a signed 64-bit integer from this file.
`void` | `refresh()`
`void` | `seek(long localPos)` Move the file pointer to the new location in the stream

Methods inherited from class java.io.InputStream
`close, mark, markSupported, read, reset, skip`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### RAFileInputStream

    public RAFileInputStream(java.io.RandomAccessFile parentFile,
                             long startPos,
                             long endPos)

Parameters:
  `parentFile` - - underlying RandomAccess file
  `startPos` - - the (global) position of the first character in parentFile
  `endPos` - - the (global) position of EOF mark (not a valid character in the file)

Method Detail

### refresh

    public void refresh()
                 throws java.io.IOException

  Specified by:
    `refresh` in class `RAInputStream`
  Throws:
    `java.io.IOException`

### read

    public int read()
             throws java.io.IOException

  The same behavior as InputStream.read().
  Reads the next byte of data from the input stream. The value byte is returned as an `int` in the range `0` to `255`. If no byte is available because the end of the stream has been reached, the value `-1` is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

  A subclass must provide an implementation of this method.

  Specified by:
    `read` in class `java.io.InputStream`
  Returns:
    the next byte of data, or `-1` if the end of the stream is reached.
  Throws:
    `java.io.IOException` - if an I/O error occurs.

### read

    public int read(byte[] b,
                    int off,
                    int len)
             throws java.io.IOException

  The same behavior as InputStream.read(byte b[], int off, int len ).
  Reads up to len bytes of data from the input stream into an array of bytes. If no byte is available because the end of the stream has been reached, the value `-1` is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

  A subclass must provide an implementation of this method.

  Overrides:
    `read` in class `java.io.InputStream`
  Returns:
    the total number of bytes read into the buffer, or `-1` if there is no more data because the end of the stream has been reached
  Throws:
    `java.io.IOException` - if an I/O error occurs.

### readInt

    public int readInt()
                throws java.io.IOException

  The same behavior as RandomAccessFile.readInt().
  Reads a signed 32-bit integer from this file. This method reads 4 bytes from the file, starting at the current file pointer. If the bytes read, in order, are `b1`, `b2`, `b3`, and `b4`, where `0 <= b1, b2, b3, b4 <= 255`, then the result is equal to:

  >          (b1 << 24) | (b2 << 16) + (b3 << 8) + b4

  This method blocks until the four bytes are read, the end of the stream is detected, or an exception is thrown.

  Specified by:
    `readInt` in class `RAInputStream`
  Returns:
    the next four bytes of this stream, interpreted as an `int`.
  Throws:
    `java.io.EOFException` - if this stream reaches the end before reading four bytes.
    `java.io.IOException` - if an I/O error occurs.

### readLong

    public final long readLong()
                        throws java.io.IOException

  Reads a signed 64-bit integer from this file. This method reads eight bytes from the file, starting at the current file pointer. If the bytes read, in order, are `b1`, `b2`, `b3`, `b4`, `b5`, `b6`, `b7`, and `b8,` where:

  >          0 <= b1, b2, b3, b4, b5, b6, b7, b8 <=255,

  then the result is equal to:

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

  This method blocks until the eight bytes are read, the end of the stream is detected, or an exception is thrown.

  Specified by:
    `readLong` in class `RAInputStream`
  Returns:
    the next eight bytes of this file, interpreted as a `long`.
  Throws:
    `java.io.EOFException` - if this file reaches the end before reading eight bytes.
    `java.io.IOException` - if an I/O error occurs.

### readFully

    public final void readFully(byte[] b,
                                int off,
                                int len)
                         throws java.io.IOException

  The same behavior as RandomAccessFile.readFully(byte b[], int off, int len) Reads exactly `len` bytes from this file into the byte array, starting at the current file pointer. This method reads repeatedly from the file until the requested number of bytes are read. This method blocks until the requested number of bytes are read, the end of the stream is detected, or an exception is thrown.

  Specified by:
    `readFully` in class `RAInputStream`
  Parameters:
    `b` - the buffer into which the data is read.
    `off` - the start offset of the data.
    `len` - the number of bytes to read.
  Throws:
    `java.io.EOFException` - if this file reaches the end before reading all the bytes.
    `java.io.IOException` - if an I/O error occurs.

### getStreamLength

    public long getStreamLength()

  Returns:
    the length of the stream

### seek

    public void seek(long localPos)
              throws java.io.IOException

  Move the file pointer to the new location in the stream

  Specified by:
    `seek` in class `RAInputStream`
  Parameters:
    `localPos` - - the new local postion in the stream. The localPos starts from 0.
  Throws:
    `java.io.IOException`

### getOffset

    public long getOffset()
                   throws java.io.IOException

  Specified by:
    `getOffset` in class `RAInputStream`
  Throws:
    `java.io.IOException`

### length

    public long length()
                throws java.io.IOException

  Specified by:
    `length` in class `RAInputStream`
  Throws:
    `java.io.IOException`

### available

    public int available()
                  throws java.io.IOException

  Description copied from class: `RAInputStream`
  Returns the number of bytes that can be read (or skipped over) from this random access input stream without blocking by the next caller of a method for this input stream. The next caller might be the same thread or another thread.

  This abstract class is extended by `RAFolderInputStream` and `RAFileInputStream`

  The `available` method returns `-1` when no more data because the end of the stream has been reached.

  and returns `Integer.MAX_VALUE` when bytes of data is larger then Integer.MAX_VALUE.

  Specified by:
    `available` in class `RAInputStream`
  Throws:
    `java.io.IOException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008 Actuate Corp. All rights reserved.