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.Readerjava.io.IOExceptionpublic int read(char[] cbuf)
throws java.io.IOException
read in class java.io.Readerjava.io.IOExceptionpublic int read(char[] cbuf,
int off,
int len)
throws java.io.IOException
read in class java.io.Readerjava.io.IOExceptionpublic long skip(long n)
throws java.io.IOException
skip in class java.io.Readerjava.io.IOExceptionpublic boolean ready()
throws java.io.IOException
ready in class java.io.Readerjava.io.IOExceptionpublic void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class java.io.Readerjava.io.IOExceptionreallyClose()public void mark(int readlimit)
throws java.io.IOException
mark in class java.io.Readerjava.io.IOExceptionpublic void reset()
throws java.io.IOException
reset in class java.io.Readerjava.io.IOExceptionpublic boolean markSupported()
markSupported in class java.io.Readerpublic 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