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.InputStreamjava.io.IOExceptionpublic int read(byte[] b)
throws java.io.IOException
read in class java.io.InputStreamjava.io.IOExceptionpublic int read(byte[] b,
int off,
int len)
throws java.io.IOException
read in class java.io.InputStreamjava.io.IOExceptionpublic long skip(long n)
throws java.io.IOException
skip in class java.io.InputStreamjava.io.IOExceptionpublic int available()
throws java.io.IOException
available in class java.io.InputStreamjava.io.IOExceptionpublic void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class java.io.InputStreamjava.io.IOExceptionreallyClose()public void mark(int readlimit)
mark in class java.io.InputStreampublic void reset()
throws java.io.IOException
reset in class java.io.InputStreamjava.io.IOExceptionpublic boolean markSupported()
markSupported in class java.io.InputStreampublic void reallyClose()
throws java.io.IOException
reallyClose in interface NoCloseStreamjava.io.IOException - if an I/O error occurs.Copyright (c) 2001-2020 by Stephen Ostermiller