Build 1.1_r1 (from source)

java.io
Class LineNumberReader

java.lang.Object
  extended by java.io.Reader
      extended by java.io.BufferedReader
          extended by java.io.LineNumberReader
All Implemented Interfaces:
Closeable, Readable

public class LineNumberReader
extends BufferedReader

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.

Since:
Android 1.0

Field Summary
 
Fields inherited from class java.io.Reader
lock
 
Constructor Summary
LineNumberReader(Reader in)
          Constructs a new LineNumberReader on the Reader in.
LineNumberReader(Reader in, int size)
          Constructs a new LineNumberReader on the Reader in.
 
Method Summary
 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 at most 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 count)
          Skips count number of characters in this reader.
 
Methods inherited from class java.io.BufferedReader
close, markSupported, ready
 
Methods inherited from class java.io.Reader
read, read
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LineNumberReader

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

Parameters:
in - the Reader that is buffered.
Since:
Android 1.0

LineNumberReader

public 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 - the Reader that is buffered.
size - the size of the buffer to allocate.
Throws:
IllegalArgumentException - if size <= 0.
Since:
Android 1.0
Method Detail

getLineNumber

public int getLineNumber()
Returns the current line number for this reader. Numbering starts at 0.

Returns:
the current line number.
Since:
Android 1.0

mark

public void mark(int readlimit)
          throws IOException
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.

Overrides:
mark in class BufferedReader
Parameters:
readlimit - 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.
Since:
Android 1.0
See Also:
BufferedReader.markSupported(), reset()

read

public int read()
         throws IOException
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'.

Overrides:
read in class BufferedReader
Returns:
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.
Since:
Android 1.0

read

public int read(char[] buffer,
                int offset,
                int count)
         throws IOException
Reads at most 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". Line terminator sequences are always translated into '\n'.

Overrides:
read in class BufferedReader
Parameters:
buffer - the array in which to store the characters read.
offset - the initial position in buffer to store the characters read from this reader.
count - the maximum number of characters to store in buffer.
Returns:
the number of characters actually read or -1 if the end of the source reader has been reached while reading.
Throws:
IOException - if this reader is closed or another IOException occurs.
Since:
Android 1.0

readLine

public String readLine()
                throws IOException
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.

Overrides:
readLine in class BufferedReader
Returns:
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.
Since:
Android 1.0

reset

public void reset()
           throws IOException
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.

Overrides:
reset in class BufferedReader
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.
Since:
Android 1.0
See Also:
mark(int), BufferedReader.markSupported()

setLineNumber

public 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 - the new line number value.
Since:
Android 1.0
See Also:
mark(int), reset()

skip

public long skip(long count)
          throws IOException
Skips count number of characters in this reader. Subsequent read()'s will not return these characters unless reset() is used. This implementation skips count number of characters in the source reader and increments the line number count whenever line terminator sequences are skipped.

Overrides:
skip in class BufferedReader
Parameters:
count - the number of characters to skip.
Returns:
the number of characters actually skipped.
Throws:
IllegalArgumentException - if count < 0.
IOException - if this reader is closed or another IOException occurs.
Since:
Android 1.0
See Also:
mark(int), read(), reset()

Build 1.1_r1 (from source)

Please submit a feedback, bug or feature