アプリ版:「スタンプのみでお礼する」機能のリリースについて

For Each strFileName As String In Directory.GetFiles("フォルダ名","*.TXT")
'なにか処理
Next strFileName


としてファイル名を読み込んで処理する場合、ファイル名でソートされて順番に出てくるような気がします。
どのような基準でソートされるのかを調べているのですが、はっきり明記されているものが見つかりません。

安心して使うために裏付けがほしいのですが、どこかに詳細な資料はないでしょうか?
よろしくお願いします。

A 回答 (3件)

内部的に FindFirstFile / FindNextFile を使っているようだけど


http://www.microsoft.com/japan/msdn/net/general/ …

取得する順番は..
http://forums.belution.com/ja/vc/000/038/23.shtml

なるほど!

正式情報は
http://msdn.microsoft.com/library/en-us/fileio/f …

The order in which this function returns the file names is dependent on the file system type. With the NTFS file system and CDFS file systems, the names are returned in alphabetical order. With FAT file systems, the names are returned in the order the files were written to the disk, which may or may not be in alphabetical order.
    • good
    • 0
この回答へのお礼

NTFSの場合はファイル名順のようですね。
参照先はサーバーの決まったフォルダなので、今回はこのまま使っても大丈夫そうです。
参考サイトの情報も参考になりました。
ありがとうございました。

お礼日時:2005/09/21 18:38

ファイルシステムによって結果が異なる可能性がありますが(ファイルシステムドライバの動作に依存するため)、FATとNTFSについていえば、どちらもディスク上に格納されているファイルのリスト(FATではディレクトリエントリ、NTFSではマスターファイルテーブル=MFT)に書かれている順番でファイル名が返されます。



FATの場合、書かれる順番は不定です。(後から書き込んだファイルが最後に書かれる、というのは間違いです。)

NTFSの場合、MFTに格納されるリストはファイル名順にソートされているので、「書かれている順番」で返された一覧はソートされていることになります。

ちょっと時間がないので、今のところはこのくらいで。
    • good
    • 0
この回答へのお礼

FATの場合はよく分からない順番だぞ、とゆうことで納得しておきます。
回答ありがとうございました。

お礼日時:2005/09/21 18:53

ファイル名をSystem.Collections.ArrayListなどに取り込み、ソートした後


処理を実行した方が、色々調べるよりも早くて簡単な気がします。
    • good
    • 0
この回答へのお礼

おお、ArrayListですね!
これなら不定量な今回の内容でも使えそうです。
ちょっと手順は増えますが、念のためこれでソートしておきます。
ありがとうございました。

お礼日時:2005/09/21 18:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A