ResultSetオブジェクトをCSV形式のStringオブジェクトに変換しようとしています。 OpenCVを使ってCSVファイルに変換しようとしましたが、文字列として入力する必要があります。最初にファイルに変換し、そのデータを文字列に変換してからファイルを削除するオプションがありますが、それは余分なオーバーヘッドになります。CSV形式の文字列への結果セット
これを達成する方法はありますか、私は検索してみましたが、これまで何もしていません。
ResultSetオブジェクトをCSV形式のStringオブジェクトに変換しようとしています。 OpenCVを使ってCSVファイルに変換しようとしましたが、文字列として入力する必要があります。最初にファイルに変換し、そのデータを文字列に変換してからファイルを削除するオプションがありますが、それは余分なオーバーヘッドになります。CSV形式の文字列への結果セット
これを達成する方法はありますか、私は検索してみましたが、これまで何もしていません。
独自のメソッドを記述しないでください.CSVはコンマで連結された文字列だけではありません。クォータ、そのエスケープなどに関するいくつかの細部があります。 専用ライブラリを使用してください。個人的に私はunivocity-parsersを "壊れた" csvファイルの方が好きですが、ResultSetを扱う場合はopencsvライブラリを使うことができます。
StringWriter stringWriter = new StringWriter();
CSVWriter csvWriter = new CSVWriter(stringWriter);
csvWriter.writeAll(resultSet, true); // including column names
String result = stringWriter.toString();
univocityパーサライブラリの作成者: 'CsvRoutines()。write(resultSet、stringWriter)'というコードで、結果セットを書くことができます。それが役に立てば幸い! –
@JeronimoBackesあなたの提案に感謝します。私はCsvParserSettings設定=新しいCsvParserSettings(); settings.getFormat()。setDelimiter( '|'); csvRoutines.setParserSettings(設定); csvRoutines.write(resultSet、stringWriter)を使用して区切り文字を設定しようとしているドキュメントを読んでいます。しかし、私はまだカンマ区切りの出力を取得しています。 – HyperioN
気にしないで、私はそれを理解した。 CsvParserSettingsの代わりにCsvWriterSettingsを使用しなければならなかった。 – HyperioN
どうすればよいのですか? –
これは私の最後の選択肢です:) – HyperioN
CSVフォーマッタのための[OpenCV](http://opencv.org/about.html)の過剰なビットはありませんか?専用のCSVライブラリを使用しないでください。 [Apache Commons CSV](https://commons.apache.org/proper/commons-csv/)または[**ウェブ検索**](https://www.google .com/search?q = java + csv + library)? – Andreas