私のファイル A.txt は特定のディレクトリにあり、いくつかのログ ファイルがそこに保存されているため、このディレクトリのサイズが動的に増加します。このファイルを開いて読み取るたびに、問題はメモリがいっぱいになるとファイルを開いて読み取ることができないことです
ここでは、メモリのサイズを増やすことはできません。より良いアイデアを提供することで誰かが助けることができますか
この一般的な質問をして申し訳ありません。
ファイル全体がメモリに収まらない場合は、ファイル全体をメモリに丸呑みしないでください。一度に1行ずつ処理します。または、より多くのメモリを取得します。
ログファイルを細かく分割します。階層的に編成されたファイルシステムに個別のファイルを保存し、体系的に名前を付けます。したがって、以前に1つのファイルがあった場合、
log121022.txt
いう、
代わりにフォルダlog120122
を作成し、その中に保存します
log12102201.txt、log12102202.txtなど。
ここで、1日の時間ごとに個別のファイルを作成しています。同じ原則が、数週間または数か月を数日に分割するなどにも当てはまります。次に、プログラム内で、必要な小さいファイルだけを読み書きします。それらすべてを実行するには、ループを作成する必要がありますが、ファイルを開く前に、この余分なコードはそれほど複雑ではなく、明らかに、書き込みに少し時間を費やす方が、常にメモリが不足するよりもはるかに優れています。