同じディレクトリに同時にファイルを読み書きする2つのプログラムがあります(ただし、同時に同じ正確なファイルには書き込みません)。私は書き込み部分を完了しましたが、読み取りディレクトリ部分の半分の適切で機能する実装を取得するのに苦労しています。
ディレクトリ内のファイルは、次の命名スキームに従います。
Image-[INDEX]-[KEY/DEL]--[TIMESTAMP]
[INDEX]
から増分し000000
、[KEY/DEL]
イメージがキーフレームであるかデルタフレームであるかに基づいて交互に表示さ[TIMESTAMP]
れ、ファイル作成時のUnix/Linuxエポック時間です。
現在、読み取りプログラムは、ディレクトリdirent.h
内の画像を見つける必要があるたびに、一度に1つのファイルを(ライブラリを使用して)ディレクトリに読み込みます。ディレクトリが非常に大きくなると、この操作/メソッドはすぐに非常にリソースを消費し、最終的には失敗すると思います。だから、私は別の方法を見つけようとしています。初期化時にディレクトリ全体を読み取り、後でプログラムでアクセス/使用するためにファイル情報を配列に保存することを考えていました。次に、配列にないファイルが要求されると、プログラムはディレクトリを読み込んでファイルの配列を更新しますが、今回は初期化の最後に中断したところから開始します。
これは可能ですか?ディレクトリ内の既知のポイント(最後に「読み込まれた」ファイル)でディレクトリ内のファイル名の読み込みを開始するには?それとも、毎回最初からやり直す必要がありますか?
それとも、これを行うためのより良い方法はありますか?
ありがとう。