none
使用 Directory 類別的 EnumerateFiles 函式,帶相同的參數,執行多次卻得到不同的數量 RRS feed

  • 一般討論

  • 使用 C# 的 Directory.EnumerateFiles 尋找特定資料夾底下的檔案,

    使用同樣的參數值,連續呼叫 10 次,卻不是每一次得到的數量皆相同,

    想請問為什麼會發生這樣的情況?

    如果每次都取得同樣的數量要怎麼作?

    2016年7月25日 上午 07:33

所有回覆

  • 有確認過該目錄不會有其他人存取出現暫存檔嗎?

    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2016年7月25日 下午 03:01
  • 用EnumerateFiles取檔案是一種漸進式取出的動作. 也就是會取出剛加入到資料夾的檔案, 也會取不到剛被刪除的檔案, 請參考:

    What happens with Directory.EnumerateFiles is directory content changes during iteration?

    2016年7月26日 上午 02:40
  • 有確認過該目錄不會有其他人存取出現暫存檔嗎?

    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    很抱歉,我問題描述的不是很詳細。

    不過我確定再讀取檔案的過程中,並不會有任何的程序去存取該資料夾。

    假設該資料夾是 D:\\123
    底下有 a.txt, b.txt, c.txt ~ z.txt 共 26個檔案

    但是我連續呼叫 EnumerateFiles
    取到的個數不會每次都是 26 個

    2016年7月29日 上午 02:52
  • 很感謝你的所提供的連結。
    不過我確定再讀取檔案的過程中,並不會有任何的程序去存取該資料夾。
    2016年7月29日 上午 02:53
  • 如果取出的不是26個, 是那幾個?
    2016年7月29日 上午 03:30
  • 你用 DirectoryInfo.GetFiles() 也是會有檔案數異動的情況?

    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    2016年7月29日 上午 08:51
    版主
  • 使用 C# 的 Directory.EnumerateFiles 尋找特定資料夾底下的檔案,

    使用同樣的參數值,連續呼叫 10 次,卻不是每一次得到的數量皆相同,

    想請問為什麼會發生這樣的情況?

    如果每次都取得同樣的數量要怎麼作?

    那麼程式執行中是否有過拋出異常或者其它情況發生呢?

    ASP.NET Forum
    Other Discussion Forums
    FreeRice Donate
    Issues to report
    Free Tech Books Search and Download

    2016年8月4日 上午 05:33