ColumnDataReader (クラス)
public ColumnDataReader {inherits TextDataReader}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.DATA-ACCESS.BASE.

固定幅列のレコードを持つデータ ファイルを読み取ります。

説明

ファイル ヘッダーの場合を除いて、完全にブランクの入力行は無視されます。
このクラスでは、タブは特殊な方法では扱われません。

コンストラクタ
default:固定幅列のデータ用にリーダーを作成します。
コンストラクタ public {ColumnDataReader.default
url:Url,
widths:{Array-of int},
character-encoding:CharEncoding = "utf8",
header-line-count:int = 0
}
from-stream:ファイル ヘッダー内に読み取られるファイル、列幅、および行数が指定されていれば、固定幅列のレコード用のファイル リーダーを作成します。
コンストラクタ public {ColumnDataReader.from-stream
input:TextInputStream,
widths:{Array-of int},
header-line-count:int = 0
}

プロパティ
widths:データ列幅です。
フィールド public ColumnDataReader.widths:{Array-of int}
プロパティ 継承 TextDataReader: done?, header, header-line-count, input

メソッド
split-record:入力ストリームからレコードを読み取って、文字列の配列として返します。
protected {ColumnDataReader.split-record out:StringArray}:StringArray
メソッド 継承 TextDataReader: close, read-header, read-record
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {ColumnDataReader.default
url:Url,
widths:{Array-of int},
character-encoding:CharEncoding = "utf8",
header-line-count:int = 0
}

固定幅列のデータ用にリーダーを作成します。

url: データ ファイルの場所です。
widths: widths プロパティの初期値を設定します。
character-encoding: ファイルの文字エンコーディングです。
header-line-count: データ レコードの読み取り前に読み取られるファイルの先頭部分の行数です。ヘッダーは、オブジェクトが作成されると読み取られます。


from-stream (コンストラクタ)
public {ColumnDataReader.from-stream
input:TextInputStream,
widths:{Array-of int},
header-line-count:int = 0
}

ファイル ヘッダー内に読み取られるファイル、列幅、および行数が指定されていれば、固定幅列のレコード用のファイル リーダーを作成します。

input: 読み取られるストリームです。
widths: widths プロパティの初期値を設定します。
header-line-count: データ レコードの読み取り前に読み取られるファイルの先頭部分の行数です。ヘッダーは、オブジェクトが作成されると読み取られます。



プロパティ詳細
widths (フィールド)
public ColumnDataReader.widths:{Array-of int}

データ列幅です。

説明

幅が 0 の場合は、該当する列位置の split-record により常に NULL 文字列が返されます。幅が負である場合は、出力配列には何も追加されず、指定の文字数がスキップされます。





メソッド詳細
split-record (メソッド)
protected {ColumnDataReader.split-record out:StringArray}:StringArray

入力ストリームからレコードを読み取って、文字列の配列として返します。

オーバーライド

このメソッドは、TextDataReader.read-record によって呼び出されます。サブクラスは、このメソッドを実装して、self.input ストリームから 1 つのレコードを読み取って out のフィールドに分割してから返します。入力がなくなると、空の配列を返します。
out: 値が入れられる配列です。