Class WindowsLineEndingInputStream

java.lang.Object
java.io.InputStream
org.apache.commons.io.input.WindowsLineEndingInputStream
All Implemented Interfaces:
Closeable, AutoCloseable

public class WindowsLineEndingInputStream extends InputStream
A filtering input stream that ensures the content will have Windows line endings, CRLF.
Since:
2.5
  • Field Details

    • atEos

      private boolean atEos
    • atSlashCr

      private boolean atSlashCr
    • atSlashLf

      private boolean atSlashLf
    • in

      private final InputStream in
    • injectSlashLf

      private boolean injectSlashLf
    • lineFeedAtEndOfFile

      private final boolean lineFeedAtEndOfFile
  • Constructor Details

    • WindowsLineEndingInputStream

      public WindowsLineEndingInputStream(InputStream in, boolean ensureLineFeedAtEndOfFile)
      Creates an input stream that filters another stream
      Parameters:
      in - The input stream to wrap
      ensureLineFeedAtEndOfFile - true to ensure that the file ends with CRLF
  • Method Details

    • close

      public void close() throws IOException
      Closes the stream. Also closes the underlying stream.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class InputStream
      Throws:
      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 class InputStream
    • read

      public int read() throws IOException
      Specified by:
      read in class InputStream
      Throws:
      IOException
    • readWithUpdate

      private int readWithUpdate() throws IOException
      Reads the next item from the target, updating internal flags in the process
      Returns:
      the next int read from the target stream
      Throws:
      IOException - upon error