public class WindowsLineEndingInputStream
extends java.io.InputStream
Modifier and Type | Field and Description |
---|---|
private boolean |
ensureLineFeedAtEndOfFile |
private boolean |
eofSeen |
private boolean |
injectSlashN |
private boolean |
slashNSeen |
private boolean |
slashRSeen |
private java.io.InputStream |
target |
Constructor and Description |
---|
WindowsLineEndingInputStream(java.io.InputStream in,
boolean ensureLineFeedAtEndOfFile)
Create an input stream that filters another stream
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the stream.
|
private int |
eofGame()
Handles the eof-handling at the end of the stream
|
void |
mark(int readlimit) |
int |
read() |
private int |
readWithUpdate()
Reads the next item from the target, updating internal flags in the process
|
private boolean slashRSeen
private boolean slashNSeen
private boolean injectSlashN
private boolean eofSeen
private final java.io.InputStream target
private final boolean ensureLineFeedAtEndOfFile
public WindowsLineEndingInputStream(java.io.InputStream in, boolean ensureLineFeedAtEndOfFile)
in
- The input stream to wrapensureLineFeedAtEndOfFile
- true to ensure that the file ends with CRLFprivate int readWithUpdate() throws java.io.IOException
java.io.IOException
- upon errorpublic int read() throws java.io.IOException
read
in class java.io.InputStream
java.io.IOException
private int eofGame()
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.InputStream
java.io.IOException
- upon errorpublic void mark(int readlimit)
mark
in class java.io.InputStream