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.
 
 -