public class NoCloseReader extends java.io.Reader implements NoCloseStream
This class is designed to wrap a normal reader 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.Reader |
in
The reader that is being protected.
|
Constructor and Description |
---|
NoCloseReader(java.io.Reader in)
Protect a new reader.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Has no effect.
|
void |
mark(int readlimit) |
boolean |
markSupported() |
int |
read() |
int |
read(char[] cbuf) |
int |
read(char[] cbuf,
int off,
int len) |
boolean |
ready() |
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.Reader in
public NoCloseReader(java.io.Reader in)
in
- The reader that is being protected.public int read() throws java.io.IOException
read
in class java.io.Reader
java.io.IOException
public int read(char[] cbuf) throws java.io.IOException
read
in class java.io.Reader
java.io.IOException
public int read(char[] cbuf, int off, int len) throws java.io.IOException
read
in class java.io.Reader
java.io.IOException
public long skip(long n) throws java.io.IOException
skip
in class java.io.Reader
java.io.IOException
public boolean ready() throws java.io.IOException
ready
in class java.io.Reader
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.Reader
java.io.IOException
reallyClose()
public void mark(int readlimit) throws java.io.IOException
mark
in class java.io.Reader
java.io.IOException
public void reset() throws java.io.IOException
reset
in class java.io.Reader
java.io.IOException
public boolean markSupported()
markSupported
in class java.io.Reader
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