Package org.forgerock.http.io
Class FileBranchingStream
java.lang.Object
java.io.InputStream
org.forgerock.http.io.BranchingInputStream
org.forgerock.http.io.FileBranchingStream
- All Implemented Interfaces:
Closeable,AutoCloseable
A
BranchingInputStream for reading from files. Uses a FileInputStream to read from the file, but
tracks the position read to so that branches can skip to the same location.
This stream would be most suited for when a large file is expected to piped straight to output, without
modification and minimal branching. If the stream is not a large file, is going to be modified by filters, or is
going to have substantial branching, a wrapper BranchingInputStream could be considered instead.
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class org.forgerock.http.io.BranchingInputStream
parentMethods inherited from class java.io.InputStream
available, mark, markSupported, nullInputStream, read, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
-
Constructor Details
-
FileBranchingStream
Creates a new stream for the specified file.- Parameters:
file- The file to read from.- Throws:
FileNotFoundException- If the file does not exist.
-
-
Method Details
-
branch
Description copied from class:BranchingInputStreamCreates a new branch at this stream's current position. The returned stream will have this stream as its parent.- Specified by:
branchin classBranchingInputStream- Returns:
- a new branching stream, in the same position as this branch.
- Throws:
IOException- if an I/O exception occurs.
-
copy
Description copied from class:BranchingInputStreamCreates a twin of this stream at this stream's current position. The returned stream will have the same parent as this stream.- Specified by:
copyin classBranchingInputStream- Returns:
- a new twin stream, in the same position as this branch.
- Throws:
IOException- if an I/O exception occurs.
-
read
- Specified by:
readin classInputStream- Throws:
IOException
-
close
Description copied from class:BranchingInputStreamCloses this branching stream and all of the branches created from it.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classBranchingInputStream- Throws:
IOException- if an I/O exception occurs.
-