获取系统IO的文件名

时间:2011-08-19 15:39:58

标签: c# file-io

我正在研究一个C#脚本,它必须在运行时访问一个随机文件,问题是文件是由其他来源动态生成的,我无法知道他们的名字,我已经解决了第一个问题是获取工作目录中有多少文件:

            s = @"C:\Imagenes";
            System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(s);
    int files;
    files = d.GetFiles().Length;
    Debug.Log(files.ToString());
    return files;

现在我想在我的工作指南中访问一个随机元素,但由于我不知道他们的名字是什么,有没有办法通过索引或其他东西获取他们的名字?

4 个答案:

答案 0 :(得分:6)

DirectoryInfo.GetFiles将为您提供fileInfo对象的数组。从那里你可以使用FileInfo.Name

获取文件名

答案 1 :(得分:1)

您需要使用FileInfo返回的d.GetFiles()个对象:

DirectoryInfo d = new DirectoryInfo("c:\\path");

foreach (FileInfo file in d.GetFiles())
{
    string name = file.Name;
}

答案 2 :(得分:0)

FileInfo[] fileinfos = d.GetFiles();

foreach (FileInfo FI in fileinfos)
{
string fullname = FI.FullName;
string name = FI.Name;

// do someting...
}


答案 3 :(得分:0)

不确定为什么你想要一个随机文件,但这应该有效(除了在计算长度和获得一个rondom之前删除文件)

int length = d.GetFiles().Length;
Random rnd = new Random();
var randomFile = d.GetFiles().ElementAt(rnd.Next(0, length-1);