Klasse java.io.LineNumberInputStream | 1.0 |
java.lang.Object
|
+--java.io.InputStream
|
+--java.io.FilterInputStream
|
+--java.io.LineNumberInputStream
Deklaration
public class LineNumberInputStream
extends java.io.FilterInputStream
Beschreibung
Der LineNumberInputStream ist zum Einlesen von Textdateien gedacht, wobei keine Umsetzung der gelesenen Bytes in Unicode-Zeichen vorgenommen wird.
Er führt einen Zähler für die Zeilennummern, der abgefragt und gesetzt werden kann. LineNumberInputStream kann sowohl mit Textdateien umgehen, deren
Zeilen newline-terminiert sind (UNIX), als auch mit Textdateien, bei denen der Zeilenvorschub durch die Sequenz CR-LF (Windows) bewirkt wird.
Konstruktoren im Detail
-
public LineNumberInputStream(InputStream in)
-
Erzeugt einen neuen LineNumberInputStream, der auf dem Stream in arbeitet.
Methoden im Detail
-
public int available()
-
Liefert die Anzahl an Bytes, die momentan gelesen werden kann, ohne zu blockieren.
- Exception: IOException
-
-
public int getLineNumber()
-
Liefert die aktuelle Zeilennummer.
-
public void mark(int readlimit)
-
Markiert die momentane Position im Stream. Nachfolgende Aufrufe von reset() springen danach wieder an diese Position. Hierdurch ist es möglich, dieselben Bytes mehrfach zu lesen. Die Marke verfällt wieder, nach dem readlimit Bytes aus dem Stream gelesen wurden, unabhängig davon, ob reset() aufgerufen wurde oder nicht.
-
public int read()
-
Liest ein Byte aus dem Stream und liefert es zurück. Der Rückgabewert -1 signalisiert, dass das Ende des Streams erreicht wurde. Wenn momentan keine Daten im Stream bereitstehen, blockiert diese Methode so lange, bis wieder mindestens 1 Byte gelesen werden kann oder das Stream-Ende erreicht ist.
- Exception: IOException
-
-
public int read(byte[] b, int off, int len)
-
Versucht, len Bytes aus dem Stream zu lesen und speichert sie ab dem Index off in b. Wenn beim Versuch, das erste Byte zu lesen, das Stream-Ende bereits erreicht war, ist der Rückgabewert -1, ansonsten wird die Anzahl der tatsächlich gelesenen Bytes zurückgeliefert. Wenn während des Lesevorgangs das Stream-Ende erreicht wird oder wenn im darunterliegenden Stream nur weniger als len Bytes gelesen werden können, ohne zu blockieren, kehrt die Methode zurück und liefert die Anzahl der bis dahin gelesenen Bytes.
- Exception: IOException
-
-
public void reset()
-
Springt im Stream auf die Position zurück, die mit dem letzten Aufruf von mark() gesetzt wurde.
Die Zeilennummer wird ebenfalls entsprechend zurückgesetzt.
- Exception: IOException
- Falls ein Fehler auftritt.
-
public void setLineNumber(int lineNumber)
-
Setzt den Zähler für die Zeilennummer auf lineNumber. Die Position im Stream wird hierbei nicht verändert.
-
public long skip(long n)
-
Versucht, n Bytes aus dem Stream zu überlesen, und liefert die Anzahl der tatsächlich übersrungenen Bytes. Diese kann kleiner als n sein, wenn vorzeitig das Ende des Streams erreicht wird. Fall momentan weniger als n Bytes im Stream bereitstehen, blockiert diese Methode so lange, bis n Bytes gelesen werden konnten oder das Stream-Ende erreicht ist.
- Exception: IOException
-
Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.