代码之家  ›  专栏  ›  技术社区  ›  SoSo

如何打开具有部分名称的文件并在c#[关闭]中读取其行

  •  0
  • SoSo  · 技术社区  · 6 年前

    我写了以下几行代码来读取c#中的文件,获取其内容,然后将其存储在数组中。问题是,我无法获得文件的全名,即我的部分名称如下:

    string[] lines3 = System.IO.File.ReadAllLines(
        "C:/Users/Welcome/Desktop/Rounds/Fitness/AUV1/paths/"0.1152370.txt");
    
    int cnt4 = 0;    
    bestPathL3 = new float[lines3.Length, 2];
    
    foreach (string line in lines3)    
    {
        string[] temp = line.Split(' ');
        bestPathL3[cnt4, 0] = (float)double.Parse(temp[0]);
        bestPathL3[cnt4, 1] = (float)double.Parse(temp[1]);
        cnt4++;
    }
    

    但是 ,文件名为0.115237052475505,例如。。。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Emre Kabaoglu    6 年前

    您应该迭代其名称包含您的 partialName 。所以,尝试使用 Directory.EnumerateFiles 并使用linq应用搜索模式 where 条款行动。

    var files = Directory.EnumerateFiles("C:\\path", "*.*", SearchOption.AllDirectories)
        .Where(s => s.Contains("partialFileName"));
    int cnt4 = 0;
    foreach (var file in files)
    {
        var lines3 = System.IO.File.ReadAllLines(file);
        bestPathL3 = new float[lines3.Length, 2];
        foreach (string line in lines3)
        {
            string[] temp = line.Split(' ');
            bestPathL3[cnt4, 0] = (float)double.Parse(temp[0]);
            bestPathL3[cnt4, 1] = (float)double.Parse(temp[1]);
            cnt4++;
            //Do something with bestPathL3
        }
    }