TokenStreamSplitter
Gruppe |
|
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 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!