de.cau.cs.kieler.core.util
Class NonBlockingInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by de.cau.cs.kieler.core.util.NonBlockingInputStream
All Implemented Interfaces:
Closeable

public class NonBlockingInputStream
extends InputStream

An input stream wrapper that does not block when reading, but returns the EOF code if no character is available.

Rating proposed yellow
(2009-12-11) msp

Constructor Summary
NonBlockingInputStream(InputStream theinputStream)
          Creates a non-blocking input stream for the given stream.
 
Method Summary
 int available()
          
 void close()
          This implementation of close does nothing.
 void forceClose()
          Forces the nested input stream to be closed.
 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
 

Constructor Detail

NonBlockingInputStream

public NonBlockingInputStream(InputStream theinputStream)
Creates a non-blocking input stream for the given stream.

Parameters:
theinputStream - the input stream
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

close

public void close()
This implementation of close does nothing. Use forceClose() to close the input stream.

Specified by:
close in interface Closeable
Overrides:
close in class InputStream

forceClose

public void forceClose()
                throws IOException
Forces the nested input stream to be closed.

Throws:
IOException - if an I/O error occurs

available

public int available()
              throws IOException

Overrides:
available in class InputStream
Throws:
IOException

mark

public void mark(int readlimit)

Overrides:
mark in class InputStream

markSupported

public boolean markSupported()

Overrides:
markSupported in class InputStream

reset

public void reset()
           throws IOException

Overrides:
reset in class InputStream
Throws:
IOException

skip

public long skip(long n)
          throws IOException

Overrides:
skip in class InputStream
Throws:
IOException