Skip to content

Most visited

Recently visited

navigation
Added in API level 1

LineNumberReader

public class LineNumberReader
extends BufferedReader

java.lang.Object
   ↳ java.io.Reader
     ↳ java.io.BufferedReader
       ↳ java.io.LineNumberReader


Wraps an existing Reader and counts the line terminators encountered while reading the data. The line number starts at 0 and is incremented any time '\r', '\n' or "\r\n" is read. The class has an internal buffer for its data. The size of the buffer defaults to 8 KB.

Summary

Inherited fields

From class java.io.Reader

Public constructors

LineNumberReader(Reader in)

Constructs a new LineNumberReader on the Reader in.

LineNumberReader(Reader in, int size)

Constructs a new LineNumberReader on the Reader in.

Public methods

int getLineNumber()

Returns the current line number for this reader.

void mark(int readlimit)

Sets a mark position in this reader.

int read()

Reads a single character from the source reader and returns it as an integer with the two higher-order bytes set to 0.

int read(char[] buffer, int offset, int count)

Reads up to count characters from the source reader and stores them in the character array buffer starting at offset.

String readLine()

Returns the next line of text available from this reader.

void reset()

Resets this reader to the last marked location.

void setLineNumber(int lineNumber)

Sets the line number of this reader to the specified lineNumber.

long skip(long charCount)

Skips charCount characters in this reader.

Inherited methods

From class java.io.BufferedReader
From class java.io.Reader
From class java.lang.Object
From interface java.lang.Readable
From interface java.io.Closeable
From interface java.lang.AutoCloseable

Public constructors

LineNumberReader

Added in API level 1
LineNumberReader (Reader in)

Constructs a new LineNumberReader on the Reader in. The internal buffer gets the default size (8 KB).

Parameters
in Reader: the Reader that is buffered.

LineNumberReader

Added in API level 1
LineNumberReader (Reader in, 
                int size)

Constructs a new LineNumberReader on the Reader in. The size of the internal buffer is specified by the parameter size.

Parameters
in Reader: the Reader that is buffered.
size int: the size of the buffer to allocate.
Throws
IllegalArgumentException if size <= 0.

Public methods

getLineNumber

Added in API level 1
int getLineNumber ()

Returns the current line number for this reader. Numbering starts at 0.

Returns
int the current line number.

mark

Added in API level 1
void mark (int readlimit)

Sets a mark position in this reader. The parameter readlimit indicates how many characters can be read before the mark is invalidated. Sending reset() will reposition this reader back to the marked position, provided that readlimit has not been surpassed. The line number associated with this marked position is also stored so that it can be restored when reset() is called.

Parameters
readlimit int: the number of characters that can be read from this stream before the mark is invalidated.
Throws
IOException if an error occurs while setting the mark in this reader.

See also:

read

Added in API level 1
int read ()

Reads a single character from the source reader and returns it as an integer with the two higher-order bytes set to 0. Returns -1 if the end of the source reader has been reached.

The line number count is incremented if a line terminator is encountered. Recognized line terminator sequences are '\r', '\n' and "\r\n". Line terminator sequences are always translated into '\n'.

Returns
int the character read or -1 if the end of the source reader has been reached.
Throws
IOException if the reader is closed or another IOException occurs.

read

Added in API level 1
int read (char[] buffer, 
                int offset, 
                int count)

Reads up to count characters from the source reader and stores them in the character array buffer starting at offset. Returns the number of characters actually read or -1 if no characters have been read and the end of this reader has been reached.

The line number count is incremented if a line terminator is encountered. Recognized line terminator sequences are '\r', '\n' and "\r\n".

Parameters
buffer char
offset int
count int
Returns
int
Throws
IOException if this reader is closed or another IOException occurs.

readLine

Added in API level 1
String readLine ()

Returns the next line of text available from this reader. A line is represented by 0 or more characters followed by '\r', '\n', "\r\n" or the end of the stream. The returned string does not include the newline sequence.

Returns
String the contents of the line or null if no characters have been read before the end of the stream has been reached.
Throws
IOException if this reader is closed or another IOException occurs.

reset

Added in API level 1
void reset ()

Resets this reader to the last marked location. It also resets the line count to what is was when this reader was marked. This implementation resets the source reader.

Throws
IOException if this reader is already closed, no mark has been set or the mark is no longer valid because more than readlimit bytes have been read since setting the mark.

See also:

setLineNumber

Added in API level 1
void setLineNumber (int lineNumber)

Sets the line number of this reader to the specified lineNumber. Note that this may have side effects on the line number associated with the last marked position.

Parameters
lineNumber int: the new line number value.

See also:

skip

Added in API level 1
long skip (long charCount)

Skips charCount characters in this reader. Subsequent calls to read will not return these characters unless reset is used. This implementation skips charCount number of characters in the source reader and increments the line number count whenever line terminator sequences are skipped.

Parameters
charCount long
Returns
long the number of characters actually skipped.
Throws
IllegalArgumentException if charCount < 0.
IOException if this reader is closed or another IOException occurs.

See also:

This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.