读取多个文件StreamReader

时间:2017-01-18 23:19:29

标签: c# winforms

我已经在整个互联网上阅读并研究了这一点,并希望现在有人可以帮我解决这个问题。我写的是读取三个不同名称的不同文本文件,但我需要通读文本文件名,以确定我必须为该特定文件执行哪种方法。这是我到目前为止,任何帮助将不胜感激。

var readers = new List<StreamReader>();

foreach (var filename in names_of_files)
{
    if (do something?)
    {
        switch
    }
}

using (StreamReader file = new StreamReader(filename))
{
  (reads the file and does other stuff)
}

以下是我用来选择多个文件的方法。

private void LoadNewFile()
{
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Multiselect = true;
    System.Windows.Forms.DialogResult dr = ofd.ShowDialog();
    ofd.Filter = "Text Files(*.txt) | *.txt";

    foreach (String file in ofd.FileNames)
    {
        if (dr == DialogResult.OK)
        {
            userSelectedFilePath += file;
            names_of_files.Add(userSelectedFilePath);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您可以循环浏览文件名,并根据文件名对其进行不同的处理。

foreach (var filename in names_of_files)
{
    using (StreamReader file = new StreamReader(filename))
    {
        if (filename.Contains(".txt"))
        {
            // Process text tile
            MyTextProcessingMethod(file);
        }
        else if (filename.Contains(".png"))
        {
            // Do something with the image
            MyImageProcessingMethod(file);
        }
        else if (filename.Contains("_specialCode")) {
            // Another file that has special processing based on its file name
            MySpecialProcessingMethod(file);
        }
    }
}
相关问题