TokenStreamSplitter

Gruppe

Preparser

Klassenname

com.ebd.hub.datawizard.parser.stream.TokenStreamSplitter

Funktion

Die Stream-Variante des Preparsers TokenFileSplitter.

Konfigurationsdatei

sample_splitter.properties

Beschreibung

Die Funktion des TokenStreamSplitter-Preparsers entspricht dem des TokenFileSplitter-Preparsers. Allerdings ist es ein Stream-Preparser, der nicht die gesamte Datei im Arbeitsspeicher halten muss. Daher ist er für sehr große Eingangsdateien gut geeignet.

Ein weiterer Unterschied: Der Parameter header kann auch der Pfad zu einer Textdatei sein. Dazu muss der Wert des Parameters der formalen Syntax read:<URL> entsprechen. Für URL kann man einen lokalen Dateipfad file:///C:/Verzeichnis/Datei.ext, eine HTTP-URL, oder eine FTP-URL einsetzen. Dann wird der gesamte Inhalt dieser Datei, eventuell mehrzeilig, gelesen und als "Trennzeile" (in diesem Fall mehr als "Trennblock") eingefügt.

Parameter

rows

(Pflichtwert) Anzahl der Zeilen, nach der eine Trennzeile eingefügt wird.

header

(Pflichtwert) Trennzeilen-String, der eingefügt werden soll.

expression

Regulärer Ausdruck, der das Einfügen einer Trennzeile nach erreichter Zeilenzahl verzögert, bis er auf die momentan gelesene Zeile passt.

eol

Das Zeilenende-Zeichen (end of line). 0 wird als \n, 1 als \r und alle anderen Werte werden als \r\n interpretiert.

filter

Regulärer Ausdruck, filtert die Quellzeilen. Inputzeilen, die den Ausdruck nicht treffen, werden ignoriert (nicht ausgegeben und nicht gezählt).

Beispiel-Datei

sample_splitter.properties
#
# sample file for TokenFileSplitter
#
# Supported keys are: rows, header, expression, eol
#
# rows = amount of rows that are combined for one record
# header = line that will be pasted into to indicate a new record
# expression = empty or a reg. expression that must match on current read line to create a new record (beside rows)
# eol=end of line (0=\n, 1 = \r, all other settings will be used for \r\n)
#
rows = 10
header=new!