Package org.apache.commons.io.input
Class WindowsLineEndingInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.apache.commons.io.input.WindowsLineEndingInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public class WindowsLineEndingInputStream extends java.io.InputStream
A filtering input stream that ensures the content will have Windows line endings, CRLF.- Since:
- 2.5
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
atEos
private boolean
atSlashCr
private boolean
atSlashLf
private java.io.InputStream
in
private boolean
injectSlashLf
private boolean
lineFeedAtEndOfFile
-
Constructor Summary
Constructors Constructor Description WindowsLineEndingInputStream(java.io.InputStream in, boolean ensureLineFeedAtEndOfFile)
Creates an input stream that filters another stream
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Closes the stream.private int
handleEos()
Handles the end of stream condition.void
mark(int readlimit)
int
read()
private int
readWithUpdate()
Reads the next item from the target, updating internal flags in the process
-
-
-
Constructor Detail
-
WindowsLineEndingInputStream
public WindowsLineEndingInputStream(java.io.InputStream in, boolean ensureLineFeedAtEndOfFile)
Creates an input stream that filters another stream- Parameters:
in
- The input stream to wrapensureLineFeedAtEndOfFile
- true to ensure that the file ends with CRLF
-
-
Method Detail
-
close
public void close() throws java.io.IOException
Closes the stream. Also closes the underlying stream.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.InputStream
- Throws:
java.io.IOException
- upon error
-
handleEos
private int handleEos()
Handles the end of stream condition.- Returns:
- The next char to output to the stream
-
mark
public void mark(int readlimit)
- Overrides:
mark
in classjava.io.InputStream
-
read
public int read() throws java.io.IOException
- Specified by:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
readWithUpdate
private int readWithUpdate() throws java.io.IOException
Reads the next item from the target, updating internal flags in the process- Returns:
- the next int read from the target stream
- Throws:
java.io.IOException
- upon error
-
-