public class NoCloseInputStream extends java.io.InputStream implements NoCloseStream
This class is designed to wrap a normal input stream so that it can be passed to methods that read from it and may erroneously close it. This class is a workaround when the method cannot be modified because it is in a library.
Modifier and Type | Field and Description |
---|---|
protected java.io.InputStream |
in
The input stream that is being protected.
|
Constructor and Description |
---|
NoCloseInputStream(java.io.InputStream in)
Protect a new input stream.
|
Modifier and Type | Method and Description |
---|---|
int |
available() |
void |
close()
Has no effect.
|
void |
mark(int readlimit) |
boolean |
markSupported() |
int |
read() |
int |
read(byte[] b) |
int |
read(byte[] b,
int off,
int len) |
void |
reallyClose()
Actually closes this stream and releases any system
resources associated with the stream, as opposed to
the close() method, which does nothing.
|
void |
reset() |
long |
skip(long n) |
protected java.io.InputStream in
public NoCloseInputStream(java.io.InputStream in)
in
- The input stream that is being protected.public int read() throws java.io.IOException
read
in class java.io.InputStream
java.io.IOException
public int read(byte[] b) throws java.io.IOException
read
in class java.io.InputStream
java.io.IOException
public int read(byte[] b, int off, int len) throws java.io.IOException
read
in class java.io.InputStream
java.io.IOException
public long skip(long n) throws java.io.IOException
skip
in class java.io.InputStream
java.io.IOException
public int available() throws java.io.IOException
available
in class java.io.InputStream
java.io.IOException
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.InputStream
java.io.IOException
reallyClose()
public void mark(int readlimit)
mark
in class java.io.InputStream
public void reset() throws java.io.IOException
reset
in class java.io.InputStream
java.io.IOException
public boolean markSupported()
markSupported
in class java.io.InputStream
public void reallyClose() throws java.io.IOException
reallyClose
in interface NoCloseStream
java.io.IOException
- if an I/O error occurs.Copyright (c) 2001-2020 by Stephen Ostermiller