2

比較的長いマルチレベル レコード形式のテキスト ファイルを処理する .NET Web サービスを使用しています。ファイル内の各レコードは、異なるエンティティを表します。レコードには複数のサブタイプが含まれています。(現在、同じレコード形式が COBOL ジョブによって処理されています。これにより、私たちが見ているものをよりよく把握できます)。入力データを保持するクラス構造 (場合によっては DATA DIVISION) を作成しました。

私の質問は、.NET で大規模で複雑な固定幅ファイルを処理するためのベスト プラクティスは何ですか? 私の一般的なアプローチは、行全体を文字列に読み取り、文字列から作成したクラスにデータを解析することです。しかし、文字列内の文字を配列として処理するのと、文字列自体を処理するのとでどちらが良い結果になるかはわかりません。それは特定の質問、文字列とchar []だと思いますが、誰かが持っている他のポインターをいただければ幸いです。

ありがとう。

4

1 に答える 1

6

タイプ、長さなどの属性を使用して、行のデータに一致するクラスを作成します。次にMicrosoft.VisualBasic.FileIO.TextFieldParser、ファイルを読み取るためにオブジェクトを使用し、クラスに基づいてパーサーをプログラミングするための汎用コードを使用し、データを読み取ってインスタンスを作成しますクラスの(すべてリフレクションを使用)。

私はこれを CSV の読み取りに使用し、その高速、柔軟、拡張可能、汎用的で保守が容易です。また、読み取り時に各フィールドに一般的な検証を追加できる属性もあります。

私は自分のコードを共有したいと思いますが、それは私が働いている会社の IP です。

于 2009-03-31T14:07:32.207 に答える