掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
テキストファイルを最終行から検索するには? (ID:102226)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
質問の焦点がよくわからないです。 「何がしたいか」は大体わかるけど「何が知りたいのか」をはっきりさせて下さいな。 まるろうさんのおっしゃるとおり「どこまで出来ているか」を考えればおのずと知りたい事は明確になると思います。 私がやるとしたら以下のようにします、という「手順」の一例を挙げておきます。 1)テキスト全体を読み込みString型に格納。(Open For BinaryでGetを使用して一括処理) ※Getの引数にByte型配列の代わりにString型変数を使います 2)後方から開始し前方に到達するまで改行コードを探すループ。(InStrRev関数とか) 3)ループ内で行先頭の文字を解析して合致するか判定、見つかればループを抜ける。 4)発見した行以降を新たな文字列型に入れ直す。(Mid関数を第2引数未指定で使用とか) 5)ファイルに出力。(Open For BinaryでPutを使用して一括処理) この方法だとメモリ上にすべて読み込んでから処理を行います。 メリットはファイルロック時間を短縮出来る事と処理の高速化が見込める事です。 その反面、ファイルがあまりに巨大だといろいろ不具合が出ます。 必要メモリが膨大になりますし、対象行が最後方に常に位置したりする条件下では ファイルお読むオーバーヘッドが丸ごと無駄です。 対象は何かのログファイルでしょうから、対象のファイルサイズは延々増大し続けるんですよね? 実行環境の処理性能と使用できるメモリ量にもよりますけど、 ごく一般的なPCならメモリ余ってますし10〜100MB程度は楽勝なんじゃないかな。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.