0

自動増分システム (NNN.fileextension) を使用して特定のディレクトリにファイルを保存できるようにしたいクライアントがいます。アップロードされる最初のファイルは「001」、2 番目のファイルは「002」の名前で始まります。など。それはすべて問題ありませんが、ディレクトリ内の既存のファイルをループして、以前に指定されたファイル名パターンに基づいてアップロードされた最後のファイルを見つける方法に困惑しています。

ファイルをループして、ファイルが "NNN" (数値を表す N) のパターンを持っているかどうかを判断し、最後にアップロードされたファイルを取得するにはどうすればよいですか?

4

2 に答える 2

0

ファイルの検索パターンを 2 番目の引数として受け入れるDirectory.GetFiles(string, string)を使用できます(疑問符?は 1 文字のプレースホルダーとして機能します)。

したがって、見つかったファイルを反復処理する必要がある最大 ID を見つけるには、ファイル名を整数値に変換し、最大値を選択します。

var maxId = Directory.GetFiles("w:\\", "???.fileextension")
    .Select(file => int.Parse(Path.GetFileNameWithoutExtension(file)))
    .Max();
于 2012-03-13T07:36:38.303 に答える
0

作成日で注文してから、最初のものを取ることができます。

int maxFileId = 0;
        foreach (string file in Directory.GetFiles("c:\\"))
        {
            try
            {
                string currentFile = System.IO.Path.GetFileName(file).Replace("." + System.IO.Path.GetExtension(file), "");
                if (int.Parse(currentFile) > maxFileId)
                    maxFileId = int.Parse(currentFile);
            }
            catch
            {
            }
        }
        //maxFileId will give the last file
于 2012-03-13T06:53:47.687 に答える