2011-10-27 4 views
0

次の通常ファイル(date_time.zip)は、Timerを使用してASP.NETサイトで15分間隔で生成されます。C#:通常のファイルを生成するメカニズム

1027_0100.zip, 1027_011*.zip, 1027_0130.zip, ...

私の質問は、私は1026_0000.zipのように、何とか3日以内に逃しているファイルを復元するメカニズムが必要です。どのデータ構造/アルゴリズムを実装するために使用することをお勧めですか?

PS:別のタイマーを使用して、不足しているファイルを定期的に復元する予定です。

ありがとうございました!

+0

は、あなたが不足しているため、ファイルシステムをチェックする必要がありますファイル、または内部データ構造? –

+0

@Marc、ファイルシステム。 – Ricky

答えて

1

名前付けスキームは既知であり、ファイルがどこに行くのかが分かっているためです。それぞれの潜在的なファイルの名前となるものを生成して、System.Io.file.Existsを使用してファイルの存在を確認するだけです。その呼び出しが失敗した場合、ファイルを再生成します。

1

私はわずかに異なる解決策を提案します:むしろ繰り返しディスクを問い合わせるよりも、まさにそれに対してDirectory.GetFiles(...)とのLINQを使用します。

string[] files_that_should_exist = YourMethodToGenerateExistingFilenames(); 
string[] files_in_dir = System.IO.Directory.GetFiles(output_path); 

var missing_files = files_that_should_exist.Except(files_in_dir); 

foreach(string file in missing_files) YourMissingFileGenerateMethod(file); 
関連する問題