使用StreamReader解析csv文件以及如何向其传递多个搜索参数

时间:2013-05-16 15:00:52

标签: c# search streamreader

我有一个如下所示的解析.csv文件的程序。 IT打开StreamReader并搜索关键字。我试图让用户更改txt文件中的搜索参数而不是实际程序。关于如何让所有这些代码一起工作的任何建议都会非常有用。

using System;
using System.Data;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Mail;



namespace ConsoleApplication5
{
  class Test
 {
    public static void Main()
    {
        var dic = File.ReadAllLines("test.txt")
          .Select(l => l.Split(new[] { '=' }))
          .ToDictionary(s => s[0].Trim(), s => s[1].Trim()); 

        try
        {
            using (StreamReader sr = new StreamReader("c:/temp/ESMDLOG.csv"))
            {
                string currentLine;
                // currentLine will be null when the StreamReader reaches the end of file
                while ((currentLine = sr.ReadLine()) != null)
                {
                    // Search, case insensitive, if the currentLine contains the searched keyword
                    if (currentLine.IndexOf("I/RPTGEN", StringComparison.CurrentCultureIgnoreCase) >= 0)
                    {
                        Console.WriteLine(currentLine);
                        //Console.ReadLine();

                    }

                }
            }

        }
        catch (Exception e)
        {
            Console.WriteLine("The File could not be read:");
            Console.WriteLine(e.Message);

            Console.ReadLine();
        }
    }
}

}

1 个答案:

答案 0 :(得分:0)

您可以使用另一个类的列表而不是字典结构来加载搜索配置文件内容。这样,您可以存储多个搜索参数作为该类的属性。

然后,在此之后,您可以轻松使用Linq搜索项目。 (=