0

データベースから取得したデータから csv ファイルを作成しようとしています。データ自体には、コンマ、パイプ、および任意の数の区切り文字が含まれています。非 ASCII の壊れたパイプ記号 ¦ を区切り記号として使用することを選択しました。これは、xml 構成ファイルと Java テスト ファイルにも存在する必要があります。

私たちのJavaファイルがUNIXに展開されると、無効な文字が見つかったと不平を言います.asciiファイルで非ASCII文字を見つけているためだと思います。

そのため、ファイルを UTF-8 に変換すると、Windows では ¦ 文字が � 文字として表示されます。そのため、壊れたパイプ記号を UTF-8 Web サイトからコピーしました。これで、windows と unix で問題なくコンパイルできるようになりました。ただし、Windows ではテストは正常に実行されますが、UNIX では ¦ が ¦ として解釈されるため、正常に実行されません。

これらのファイルをどのように処理し、どのような形式にするべきか、誰にもアドバイスできますか?

私が今考えることができる唯一の他の解決策は、ASCII文字の組み合わせを区切り文字として使用することですが、これは本当にやりたくありません。

前もって感謝します

4

1 に答える 1

1

一般的なアプローチは、区切り文字を含む可能性のあるフィールドを引用することです。埋め込まれた引用符は、2 つの引用符を使用してそれらを表すことによって処理されます。これには、おそらく現在行っているよりも多くの前処理と後処理が必要になりますが、コードがより堅牢になります (データベース フィールドが埋め込みパイプ文字を使用し始めるとどうなりますか?)。

opencsvプロジェクトは、このユース ケースを処理できます。

于 2012-09-18T16:11:20.903 に答える