Package org.apache.commons.vfs2.util
Class RawMonitorInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- org.apache.commons.vfs2.util.RawMonitorInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
- Direct Known Subclasses:
DefaultFileContent.RawFileContentInputStream
public class RawMonitorInputStream extends java.io.FilterInputStream
An InputStream that provides end-of-stream monitoring.This is the same as
MonitorInputStream
but without the buffering.- Since:
- 2.5.0
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicLong
atomicCount
private static int
EOF_CHAR
private java.util.concurrent.atomic.AtomicBoolean
finished
-
Constructor Summary
Constructors Constructor Description RawMonitorInputStream(java.io.InputStream inputStream)
Constructs a MonitorInputStream from the passed InputStream
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
available()
Returns 0 if the stream is at EOF, else the underlying inputStream will be queried.void
close()
Closes this input stream and releases any system resources associated with the stream.long
getCount()
Gets the number of bytes read by this input stream.void
mark(int readlimit)
protected void
onClose()
Called after the stream has been closed.int
read()
Reads a character.int
read(byte[] buffer, int offset, int length)
Reads bytes from this input stream.
-
-
-
Field Detail
-
EOF_CHAR
private static final int EOF_CHAR
- See Also:
- Constant Field Values
-
finished
private final java.util.concurrent.atomic.AtomicBoolean finished
-
atomicCount
private final java.util.concurrent.atomic.AtomicLong atomicCount
-
-
Method Detail
-
available
public int available() throws java.io.IOException
Returns 0 if the stream is at EOF, else the underlying inputStream will be queried.- Overrides:
available
in classjava.io.FilterInputStream
- Returns:
- The number of bytes that are available.
- Throws:
java.io.IOException
- if an error occurs.
-
read
public int read() throws java.io.IOException
Reads a character.- Overrides:
read
in classjava.io.FilterInputStream
- Returns:
- The character that was read as an integer.
- Throws:
java.io.IOException
- if an error occurs.
-
read
public int read(byte[] buffer, int offset, int length) throws java.io.IOException
Reads bytes from this input stream.- Overrides:
read
in classjava.io.FilterInputStream
- Parameters:
buffer
- A byte array in which to place the characters read.offset
- The offset at which to start reading.length
- The maximum number of bytes to read.- Returns:
- The number of bytes read.
- Throws:
java.io.IOException
- if an error occurs.
-
close
public void close() throws java.io.IOException
Closes this input stream and releases any system resources associated with the stream.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
- if an error occurs.
-
onClose
protected void onClose() throws java.io.IOException
Called after the stream has been closed. This implementation does nothing.- Throws:
java.io.IOException
- if an error occurs.
-
getCount
public long getCount()
Gets the number of bytes read by this input stream.- Returns:
- The number of bytes read by this input stream.
-
mark
public void mark(int readlimit)
- Overrides:
mark
in classjava.io.FilterInputStream
-
-