Package com.sun.mail.util

## Class LineInputStream

- java.lang.Object
- - java.io.InputStream
  - - java.io.FilterInputStream
    - - com.sun.mail.util.LineInputStream

All Implemented Interfaces:
  `java.io.Closeable`, `java.lang.AutoCloseable`

    public class LineInputStream
    extends java.io.FilterInputStream

LineInputStream supports reading CRLF terminated lines that contain only US-ASCII characters from an input stream. Provides functionality that is similar to the deprecated `DataInputStream.readLine()`. Expected use is to read lines as String objects from an IMAP/SMTP/etc. stream.

This class also supports UTF-8 data by calling the appropriate constructor. Or, if the System property `mail.mime.allowutf8` is set to true, an attempt will be made to interpret the data as UTF-8, falling back to treating it as an 8-bit charset if that fails.

LineInputStream is implemented as a FilterInputStream, so one can just wrap it around any input stream and read bytes from this filter.

Author:
  John Mani, Bill Shannon

### Field Summary

### Fields inherited from class java.io.FilterInputStream

`in`

### Constructor Summary

Constructors
`LineInputStream​(java.io.InputStream in)`
`LineInputStream​(java.io.InputStream in, boolean allowutf8)`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `readLine()` Read a line containing only ASCII characters from the input stream.

### Methods inherited from class java.io.FilterInputStream

`available, close, mark, markSupported, read, read, read, reset, skip`

### Methods inherited from class java.io.InputStream

`nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### LineInputStream

    public LineInputStream​(java.io.InputStream in)

#### LineInputStream

    public LineInputStream​(java.io.InputStream in,
                           boolean allowutf8)

Parameters:
  `in` - the InputStream
  `allowutf8` - allow UTF-8 characters?
Since:
  JavaMail 1.6

### Method Detail

#### readLine

    public java.lang.String readLine()
                              throws java.io.IOException

Read a line containing only ASCII characters from the input stream. A line is terminated by a CR or NL or CR-NL sequence. A common error is a CR-CR-NL sequence, which will also terminate a line. The line terminator is not returned as part of the returned String. Returns null if no data is available.

This class is similar to the deprecated `DataInputStream.readLine()`

Returns:
  the line
Throws:
  `java.io.IOException` - for I/O errors