Java CSV analyseur avec chaîne séparateur (multi-caractères)

Est-il open source Java bibliothèque qui prend en charge de caractères multi- (c'est à dire, Chaîne de longueur > 1) séparateurs (séparateurs) pour CSV?

Par définition, CSV = Valeurs Séparées par des Virgules données avec un seul caractère (',') comme séparateur. Cependant, beaucoup d'autres à caractère unique des alternatives existent (par exemple, l'onglet), faisant CSV de se présenter aux "Valeurs délimitées par des Caractères" de données (essentiellement, DSV: Séparateur de Valeurs Séparées par des données).

Principales de Java bibliothèques open source pour CSV (par exemple, OpenCSV) prendre en charge pratiquement n'importe quel caractère comme séparateur, mais pas de la chaîne (de caractères multi -) délimiteurs. Donc, pour les données séparées par des chaînes de caractères comme "|||" il n'y a pas d'autre choix que de prétraitement de l'entrée, afin de transformer la chaîne de caractères à un seul caractère délimiteur. À partir de là, les données peuvent être analysées comme un seul caractère de valeurs séparées.

Il serait donc sympa si il y avait une bibliothèque qui a soutenu la chaîne de séparateurs en natif, de sorte qu'aucun prétraitement a été nécessaire. Cela signifierait que CSV maintenant pleines de caractère pour "CharSequence de Valeurs Séparées par des données". 🙂

Vous pouvez écrire votre propre lib. Il n'y a pas beaucoup à elle. Lire chaque ligne du fichier et de le diviser avec votre regex ou des séparateurs.
Pas si facile, parce que CSV peut avoir cité les champs, multi-dossiers, etc. Aussi, il existe d'innombrables options sur les devis, les caractères d'échappement, etc. Jetez un oeil à secretgeek.net/csv_trouble.asp pour une drôle de présentation fo les problèmes que vous pouvez rencontrer.
Que serait un besoin, en effet, c'est pourquoi (entre autres raisons) la maturité de la bibliothèque est préférable, mais de tous ceux que j'ai joué avec semblent appuyer sur des caractères séparateurs.
FlatPack semble soutenir seuls les caractères séparateurs.
Comme je l'ai dit dans la question, "Ainsi, pour les données séparées par des chaînes de caractères comme "|||" il n'y a pas d'autre option que de prétraitement de l'entrée, afin de transformer la chaîne de caractères à un seul caractère délimiteur." 🙂

OriginalL'auteur PNS | 2011-12-28