Added in API level 1

LineNumberReader

open class LineNumberReader : BufferedReader
kotlin.Any
   ↳ java.io.Reader
   ↳ java.io.BufferedReader
   ↳ java.io.LineNumberReader

A buffered character-input stream that keeps track of line numbers. This class defines methods setLineNumber(int) and getLineNumber() for setting and getting the current line number respectively.

By default, line numbering begins at 0. This number increments at every line terminator as the data is read, and can be changed with a call to setLineNumber(int). Note however, that setLineNumber(int) does not actually change the current position in the stream; it only changes the value that will be returned by getLineNumber().

A line is considered to be terminated by any one of a line feed ('\n'), a carriage return ('\r'), or a carriage return followed immediately by a linefeed.

Summary

Public constructors

Create a new line-numbering reader, using the default input-buffer size.

Create a new line-numbering reader, reading characters into a buffer of the given size.

Public methods
open Int

Get the current line number.

open Unit
mark(readAheadLimit: Int)

Mark the present position in the stream.

open Int

Read a single character.

open Int
read(cbuf: CharArray!, off: Int, len: Int)

Read characters into a portion of an array.

open String!

Read a line of text.

open Unit

Reset the stream to the most recent mark.

open Unit
setLineNumber(lineNumber: Int)

Set the current line number.

open Long
skip(n: Long)

Skip characters.

Inherited functions
Inherited properties

Public constructors

LineNumberReader

Added in API level 1
LineNumberReader(in: Reader!)

Create a new line-numbering reader, using the default input-buffer size.

Parameters
in Reader!: A Reader object to provide the underlying stream

LineNumberReader

Added in API level 1
LineNumberReader(
    in: Reader!,
    sz: Int)

Create a new line-numbering reader, reading characters into a buffer of the given size.

Parameters
in Reader!: A Reader object to provide the underlying stream
sz Int: An int specifying the size of the buffer

Public methods

getLineNumber

Added in API level 1
open fun getLineNumber(): Int

Get the current line number.

Return
Int The current line number

See Also

mark

Added in API level 1
open fun mark(readAheadLimit: Int): Unit

Mark the present position in the stream. Subsequent calls to reset() will attempt to reposition the stream to this point, and will also reset the line number appropriately.

Parameters
readAheadLimit Int: Limit on the number of characters that may be read while still preserving the mark. After reading this many characters, attempting to reset the stream may fail.
Exceptions
java.io.IOException If an I/O error occurs

read

Added in API level 1
open fun read(): Int

Read a single character. Line terminators are compressed into single newline ('\n') characters. Whenever a line terminator is read the current line number is incremented.

Return
Int The character read, or -1 if the end of the stream has been reached
Exceptions
java.io.IOException If an I/O error occurs

read

Added in API level 1
open fun read(
    cbuf: CharArray!,
    off: Int,
    len: Int
): Int

Read characters into a portion of an array. Whenever a line terminator is read the current line number is incremented.

Parameters
cbuf CharArray!: Destination buffer
off Int: Offset at which to start storing characters
len Int: Maximum number of characters to read
Return
Int The number of bytes read, or -1 if the end of the stream has already been reached
Exceptions
java.io.IOException If an I/O error occurs
java.lang.IndexOutOfBoundsException

readLine

Added in API level 1
open fun readLine(): String!

Read a line of text. Whenever a line terminator is read the current line number is incremented.

Return
String! A String containing the contents of the line, not including any line termination characters, or null if the end of the stream has been reached
Exceptions
java.io.IOException If an I/O error occurs

reset

Added in API level 1
open fun reset(): Unit

Reset the stream to the most recent mark.

Exceptions
java.io.IOException If the stream has not been marked, or if the mark has been invalidated

setLineNumber

Added in API level 1
open fun setLineNumber(lineNumber: Int): Unit

Set the current line number.

Parameters
lineNumber Int: An int specifying the line number

See Also

skip

Added in API level 1
open fun skip(n: Long): Long

Skip characters.

Parameters
n Long: The number of characters to skip
Return
Long The number of characters actually skipped
Exceptions
java.io.IOException If an I/O error occurs
java.lang.IllegalArgumentException If n is negative