Разделители

Разделители определяют правила, по которым будут прочитаны данные из файла узлом FlatFileReader. А также правила, по которым будет произведена запись в файл в результате работы узла FlatFileWriter.

В системе существует два типа разделителей:

  • разделители полей fieldDelimiter;
  • разделители записей recordDelimiter.

Разделители назначаются в редакторе метаданных и могут быть переопределены в редакторе узла.

По умолчанию, разделителем записей является символ перевода строки fieldDelimiter=\n, а разделителем полей – запятая recordDelimiter=,.

Для чтения файла такого вида: qwe|rty|uio;asd|fgh|jkl;zxc|vbn|mko в качестве разделителя полей следует задать вертикальную линию, а в качестве разделителя записей – точку с запятой: fieldDelimiter=|, recordDelimiter=;.

Если назначить метаданные для записи, установив разделитель полей fieldDelimiter=_, а разделитель записей не задать, то выходной файл будет выглядеть таким образом:

qwe_rty_uio
asd_fgh_jkl
zxc_vbn_mko

recordDelimiter при этом будет по умолчанию равен символу переноса строки.

Во FlatFileReader и FlatFileWriter можно переопределять fieldDelimiter и recordDelimiter в атрибутах узла. Тогда, даже если в метаданных указаны одни разделители – в узлах для чтения или записи могут быть указаны другие разделители, переопределённые значения будут приоритетными при выполнении алгоритма.

Непечатаемые разделители

Если нужно использовать любой непечатаемый разделитель, его можно записать как выражение. Например, вы можете ввести следующую последовательность символов в качестве разделителя записей в метаданных: RecordDelimeter=\u0014.

Такие выражения состоят из кода Unicode \uxxxx без кавычек. Обратите внимание, что каждый символ обратной косой черты «\», содержащийся во входных данных, на самом деле будет дублироваться при просмотре. Таким образом, вы увидите «\\» в своих метаданных.