パッケージ org.opengion.plugin.io

クラス TableWriter_CSV

すべての実装されたインタフェース:
TableWriter
直系の既知のサブクラス:
TableWriter_CSV2, TableWriter_CSV3, TableWriter_Data, TableWriter_Data2

CSV形式ダブルクォートゼロカンマファイル(CSV)形式書き込みクラスです。 DefaultTableWriter を継承していますので、ラベル、名前、データの出力部のみ オーバーライドして、可変長CSV形式ファイルの出力機能を実現しています。 [writeData] 区切り : CSV_SEPARATOR 固定 行番号 : quotation( 行番号 + 1 ) カラムデータ: 数字型でない場合の先頭が 0 の時は、『'』を追加して、quotation : それ以外は、quotation( val )
変更履歴:
8.5.6.1 (2024/03/29) 継承で使えるように、一部修正します。
機能分類
ファイル出力
導入されたバージョン:
JDK21.0,
  • コンストラクタの詳細

    • TableWriter_CSV

      public TableWriter_CSV()
      デフォルトコンストラクター
      変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
  • メソッドの詳細

    • writeDBTable

      public void writeDBTable(PrintWriter writer)
      DBTableModel から データを作成して、PrintWriter に書き出します。
      定義:
      writeDBTable インタフェース内 TableWriter
      オーバーライド:
      writeDBTable クラス内 TableWriter_Default
      パラメータ:
      writer - PrintWriterオブジェクト
      変更履歴:
      3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。, 3.5.4.3 (2004/01/05) 引数に PrintWriter を受け取るように変更します。, 8.5.6.1 (2024/03/29) setSeparator をcsvInit()で行います。
    • writeData

      protected void writeData(DBTableModel table, PrintWriter writer)
      PrintWriter に DBTableModelのテーブル情報を書き込みます。 このクラスでは、データを ダブルコーテーション(")で囲みます。 PrintWriter に DBTableModelのテーブル情報を書き込みます。
      オーバーライド:
      writeData クラス内 TableWriter_Default
      パラメータ:
      table - DBTableModelオブジェクト
      writer - PrintWriterオブジェクト
      変更履歴:
      2.0.0.1 (2002/09/20) 先頭が0 でかつ数字タイプ(S9)でない場合に ' を出力するように修正, 2.0.0.5 (2002/09/30) 先頭が0 でかつ数字タイプ(S9 or R)でない場合に ' を出力するように修正。, 2.3.1.2 (2003/01/28) データ出力時に、改行が余分に出される箇所を修正。, 3.1.0.0 (2003/03/20) DBColumn から、getDbType() キーを直接取り出す, 3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。, 3.7.0.2 (2005/02/14) 行番号情報を、出力する(true)/しない(false)を指定, 3.8.0.1 (2005/06/17) DBTypeが NVAR の場合は、元のUnicodeに戻します。, 5.1.6.0 (2010/05/01) DbType の初期値(dbType)を利用する。, 5.2.1.0 (2010/10/01) useRenderer 対応, 5.6.9.4 (2013/10/31) 数字型でない場合の先頭が 0 の時, 6.0.1.2 (2014/08/08) カラム飛ばしできる機能を追加, 6.0.4.0 (2014/11/28) データ出力用のレンデラー, 8.5.2.0 (2023/07/14) 一部の機能廃止による修正(問合・トラブル 0200010980), 8.5.6.1 (2024/03/29) 継承で使えるように、一部修正します。
    • csvInit

      protected void csvInit()
      writeDBTable を実行する前の初期設定を行います。 サブクラスによって処理方法が異なります。 ここでは、separator に、CSV_SEPARATOR を登録しています。
      変更履歴:
      8.5.6.1 (2024/03/29) 継承で使えるように、一部修正します。
    • numberQuotation

      protected String numberQuotation(int row)
      先頭の行番号に対してのクオーテーション処理を行います。 サブクラスによって処理方法が異なります。
      パラメータ:
      row - 行番号
      戻り値:
      変換後の文字列
      変更履歴:
      8.5.6.1 (2024/03/29) 継承で使えるように、一部修正します。
    • dataQuotation

      protected String dataQuotation(String val, int dtype)
      データを書き込む場合の区切り文字をセットします。 このクラスでは、CSV 固定の為、区切り文字のセットは無効になります。
      パラメータ:
      val - 入力文字列
      dtype - DBタイプ(STRING/NUMBER)
      戻り値:
      変換後の文字列
      変更履歴:
      8.5.6.1 (2024/03/29) 継承で使えるように、一部修正します。