de.schlichtherle.io.rof
Class ReadOnlyFileInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by de.schlichtherle.io.rof.ReadOnlyFileInputStream
All Implemented Interfaces:
Closeable

public class ReadOnlyFileInputStream
extends InputStream

An adapter class turning a provided ReadOnlyFile into an InputStream. Note that this stream supports marking. Note that any of the methods in this class throw a NullPointerException if rof hasn't been initialized.

Since:
TrueZIP 6.4 Support for marking.
Version:
TrueZIP 6.7
Author:
Christian Schlichtherle

Field Summary
protected  ReadOnlyFile rof
          The underlying ReadOnlyFile.
 
Constructor Summary
ReadOnlyFileInputStream(ReadOnlyFile rof)
          Adapts the given ReadOnlyFile.
 
Method Summary
 int available()
           
 void close()
           
 void mark(int readlimit)
           
 boolean markSupported()
           
 int read()
           
 int read(byte[] b)
           
 int read(byte[] b, int off, int len)
           
 void reset()
           
 long skip(long n)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rof

protected ReadOnlyFile rof
The underlying ReadOnlyFile. Any of the methods in this class throw a NullPointerException if this hasn't been initialized.

Constructor Detail

ReadOnlyFileInputStream

public ReadOnlyFileInputStream(ReadOnlyFile rof)
Adapts the given ReadOnlyFile.

Parameters:
rof - The underlying ReadOnlyFile. May be null, but must be initialized before any method of this class can be used.
Method Detail

read

public int read()
         throws IOException
Specified by:
read in class InputStream
Throws:
IOException

read

public int read(byte[] b)
         throws IOException
Overrides:
read in class InputStream
Throws:
IOException

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
Overrides:
read in class InputStream
Throws:
IOException

skip

public long skip(long n)
          throws IOException
Overrides:
skip in class InputStream
Throws:
IOException

available

public int available()
              throws IOException
Overrides:
available in class InputStream
Throws:
IOException

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Overrides:
close in class InputStream
Throws:
IOException

mark

public void mark(int readlimit)
Overrides:
mark in class InputStream

reset

public void reset()
           throws IOException
Overrides:
reset in class InputStream
Throws:
IOException

markSupported

public boolean markSupported()
Overrides:
markSupported in class InputStream