データベース (Vertica) にエクスポートする必要がある Unicode ファイルがあります。列の区切り文字は CTRL+B、レコードの区切り文字は改行 (\n) です。列値内に改行がある場合は常に、CTRL+A がエスケープ文字として使用されます。
BufferedReader.readLine() を使用してこのファイルを読み取ると、ID が 2 と 4 のレコードが 2 つのレコードとして読み取られます。出力に示されているように、それらを単一のレコード全体として読み取りたいのですが。
入力ファイルの例を次に示します。| | は CTRL+B を表し、^ は CTRL+A を表します。
Input
ID|Name|Job Desc
----------------
1|xxxx|SO Job
2|YYYY|SO Careers^
Job
3|RRRRR|SO
4|ZZZZ^
ZZ|SO Job
5|AAAA|YU
Output:
ID|Name|Job Desc
----------------
1|xxxx|SO Job
2|YYYY|SO Careers Job
3|RRRRR|SO
4|ZZZZ ZZ|SO Job
5|AAAA|YU
ファイルが巨大なので、StringEscapeUtils が使えません。これに関する提案はありますか?