簡體   English   中英

在C#中訪問隨機目錄中的隨機文件

[英]Access to Random Files in Random Directories in C#

為了讓測試人員測試某些復制方案,我編寫了FileAccesser。 這應該訪問給定目錄中的隨機文件(在隨機子目錄中),然后刪除,創建,重命名和更改文件或/和內容。 我正在尋找一種方法來訪問隨機子目錄中的隨機文件。 有什么建議么?

我要獲取所有子目錄中所有文件的列表的解決方案是:

var _Directory = new DirectoryInfo(args[1]);
var _Files = _Directory.GetFiles("*", SearchOption.AllDirectories);

現在,我可以使用

Random _Random = new Random();
var _RandomFile = _Files.ElementAt(_Random.Next(_Files.Count()));

THX為您提供幫助。

我想我知道您想做什么,但是在這里使用隨機性進行測試似乎是錯誤的選擇。

我希望我不教任何人在這里吮吸雞蛋,但是測試應該是可重復且可測量的。 如果任何測試失敗,則需要能夠逐步檢查並找出問題所在並予以糾正。

如果您可以在一個目錄中修改文件的屬性和內容,那么只要測試的所有參數都相同,就應該可以執行任何操作。 如果測試的參數發生更改,則測試的范圍會增加(例如,目錄或文件的權限使其變為只讀)。

您可以執行以下操作:

  • 創建所有目錄的列表(作為字符串列表)
  • 為每個目錄創建一個文件列表。
  • 使用隨機生成器生成介於0和目錄計數列表之間的數字。
  • 根據上面生成的數字從列表中選擇目錄作為索引。
  • 應用最后2個步驟為上面選擇的目錄選擇一個隨機文件。
  • 創建一個字符串列表,每個字符串代表一個文件路徑(Directory \\ FileName.ext)
  • 生成隨機數0-字符串的長度-1
  • 根據隨機數獲取索引

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM