• ベストアンサー

データファイルの読み込みについて

はじめまして 100MB、200万行程度のファイルを解析しようとしています。そこで詰まっている所なのですが、 例えば、100行まで読み込んで一旦ストリームを閉じ、他で解析し、次の読み込みで101行からデータを取り 出すといったような処理を実現できないでしょうか? 読み込みは、BufferedReaderのreadLine()で行って おります。BufferedReaderのmark()、reset()で 出来そうな気配もありますが、 なにぶん初心者なもので、全く的外れかもしれません。 どなたかご教授お願いします。

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

  • ベストアンサー
  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.4

#1です。 >二つのストリームを開いているので、 片方を閉じないと、処理出来ないかなと 思うのです。 2つくらいなら、両方開いても問題ないと思いますが。。。 まだ説明不足の情報があるとか。。。

ikeko_01
質問者

補足

遅くなりました。ご回答ありがとうございます。 始めから、片方ずつ処理する方向で考えを進めていたので、 2つを開いたまま処理するというのには頭が回っていませんでした。 恥ずかしながら、説明不足と言うより勉強不足のようです。 頂いたご助言を元に勉強しなおして参ります。 ついでと言ってはなんですが、一つ質問させてください。 ストリームを開きすぎるとどのような問題が発生するのでしょうか? お時間がございましたら、教えて頂けると幸いです。

その他の回答 (4)

回答No.5

こんばんは。 >ストリームを開きすぎるとどのような問題が発生するのでしょうか? いろいろあるとは思いますが、メモリー不足で・・・なんて事になりそうです。 (^^ゞ

ikeko_01
質問者

お礼

素早いご回答ありがとうございます。 メモリ不足ですか…。 メモリ不足と言えば、OutOfMemoryErrorにはよく悩まされます(-_-;) まだまだ修行不足なもので。

  • covachan
  • ベストアンサー率38% (46/120)
回答No.3

DataInput系を使えばいいじゃないですか? そういった用途の為のクラスです。

ikeko_01
質問者

お礼

ご指摘ありがとうございます。 確かにBufferedReaderにこだわり過ぎかもしれません。 DataInput系を検討してみようと思います。

回答No.2

こんにちは。 閉じたら「mark」がなくなります・・・。 (^^ゞ

ikeko_01
質問者

お礼

そうなんですか。ありがとうございます。 markは使えませんね…。

  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.1

>一旦ストリームを閉じ、 閉じる必要があるのですか?

ikeko_01
質問者

補足

説明不足でした。 二つのストリームを開いているので、 片方を閉じないと、処理出来ないかなと 思うのです。 双方を開いたまま処理する方法があるのかも しれませんが…。どうでしょうか?

関連するQ&A