• ベストアンサー

VB.NETでファイルを後ろから読み取りってできますか?

なにがしたいかというと、 データファイルがあり、1行1データとなっているファイルがあります。 データはCSVで書かれており、あるデータの数値が"5"(訂正の意味)のときに、そのデータより一つ前の同一メンバーIDの行と訂正の行を一組として削除したいんです。 一度配列に落としてからということも考えたのですが、なにせデータベースなので何行になるかわかりません。 よろしくおねがいしますー

質問者が選んだベストアンサー

  • ベストアンサー
  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.3

これまでHauleさんが何度か質問されているSQL Server使用システムと同じ案件なのであれば、わざわざVB.NETに苦手な処理を行わせるより、CSVデータをSQL Serverに読み込ませてSQL Server上で処理するほうがずっと効率的かと思います。 どうしてもVB.NETを使用しないといけない、でも配列を全部メモリ上に読み込むのは避けたい、ということであれば、3パスで処理すれば配列を全部メモリ上に読み込まなくても処理できます。 パス1: 訂正の意味の行を抽出する パス2: パス1の情報をもとに、訂正の対象となる行を抽出する パス3: パス1、パス2の情報をもとに、最終的なデータを出力する

Haule
質問者

お礼

皆様レスありがとうございました^^ 参考になりました。

その他の回答 (3)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

一行読み込みの一行バッファで処理できるのでは?

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.2

VBでの配列の限界数は確かメモリの上限までだったと思いますので、そのまま配列につっこんでいっても良いかと。.NetならArraylistを使ってどんどん追加していくのが楽だと思います。

  • JeanneNet
  • ベストアンサー率48% (100/208)
回答No.1

こんにちは、じゃんぬねっと です。 原則として、一気に全部読み込んで配列に格納し、 後ろから読み取っていくしかないでしょう。

関連するQ&A

専門家に質問してみよう