固定長ファイルのアクセス時間の件
- 題名: 固定長ファイルのアクセス時間の件
- 著者: 平
- 日時: 2003/11/12 0:22:08
- ID: 1396
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 固定長ファイルのアクセス時間の件
- 著者: よねKEN
- 日時: 2003/11/12 10:32:09
- ID: 1402
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: 固定長ファイルのアクセス時間の件
- 著者: 平
- 日時: 2003/11/12 13:30:49
- ID: 1404
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: 固定長ファイルのアクセス時間の件
- 著者: ポン
- 日時: 2003/11/13 1:21:00
- ID: 1411
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: 固定長ファイルのアクセス時間の件
- 著者: 平
- 日時: 2003/11/13 23:24:35
- ID: 1426
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: 固定長ファイルのアクセス時間の件
- 著者: 平
- 日時: 2003/11/15 14:20:24
- ID: 1448
- この記事の返信元:
- この記事への返信:
- ツリーを表示
簡単な質問ですみません。宜しくお願いします。
固定長文字列ファイルの高速アクセス方法を教えて下さい。
固定長文字列ファイル(例)abcdヤマモト タロウ 077846<crlf>
abcdは半角英字,ヤマモト タロウ はシフト−jis
077846は半角数字で各フィールドは固定長文字列となっています。
フィールドの未使用部分は半角スペースで埋められます。実際のファイルは
1行が1881byteで500行程あります。
ここで問題はヤマモト タロウ の部分で未使用部分を半角スペースで
埋めますので名前により全体の文字数が変わることです。
x=Mid(y,i,j)はbyte数ではなく文字数で指定しますので
077を抜き出すことが出来ません。従ってシーケンシャルモードで
1行読み込んだ後各フィールドに格納できません。
そこで固定長文字列に対応する構造体を定義しランダムファイルとして読み出し
可能です。
しかし、ファイルは全て読み込みますのでできればシーケンシャルファイルとして
読み込みたい。
理由は読み込むためのアクセス時間です。
前述の1881byte、500行を読むのにシーケンシャルモードで1秒以下
ランダムファイルで9秒と圧倒的な差が生じます。
(Window’s2000 1.5GHz メモリー256Mbyte)
データの検索等を行いますので、ひどい時は10分位パソコンがビジー状態になります。
ファイル形式の変更はできませんので、プログラムで対処するしかありません。
言語はVB.NETです。
どなたか高速にファイルを読み込む方法を教えてください。