Package org.eclipse.birt.core.archive

# Class RAInputStream

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

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

Direct Known Subclasses:
  `ArchiveEntryInputStream`, `RAFileInputStream`, `RAFolderInputStream`

public abstract class RAInputStream extends InputStream

## Constructor Summary

Constructors
Constructor
Description
`RAInputStream()`

## Method Summary

Modifier and Type
Method
Description
`abstract 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.
`abstract long`
`getOffset()`
`abstract long`
`length()`
`abstract void`
`readFully(byte[] b, int off, int len)`
`abstract int`
`readInt()`
`abstract long`
`readLong()`
`abstract void`
`refresh()`
`abstract void`
`seek(long localPos)`

### Methods inherited from class java.io.InputStream

`close, mark, markSupported, nullInputStream, read, read, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### RAInputStream

public RAInputStream()

## Method Details

### seek

public abstract void seek(long localPos) throws IOException

Parameters:
  `localPos` -
Throws:
  `IOException`

### getOffset

public abstract long getOffset() throws IOException

Throws:
  `IOException`

### length

public abstract long length() throws IOException

Throws:
  `IOException`

### readInt

public abstract int readInt() throws IOException

Returns:
Throws:
  `IOException`

### readLong

public abstract long readLong() throws IOException

Throws:
  `IOException`

### readFully

public abstract void readFully(byte[] b, int off, int len) throws IOException

Throws:
  `IOException`

### refresh

public abstract void refresh() throws IOException

Throws:
  `IOException`

### available

public abstract int available() throws IOException
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.

Overrides:
  `available` in class `InputStream`
Throws:
  `IOException`