2017-01-18 2 views
0

Я читал и исследовал это в Интернете и надеялся, что теперь кто-то сможет мне помочь. Я пишу, чтобы читать три разных текстовых файла с разными именами, но мне нужно прочитать имя текстового файла, чтобы определить, какой метод я должен выполнить для этого конкретного файла. Это то, что я до сих пор, любая помощь была бы очень признательна.Чтение нескольких файлов StreamReader

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); 
     } 
    } 
} 
+0

Непонятно, что вы хотите. Если вам нужно сделать что-то другое в зависимости от имени файла, то в вашем 'foreach' вы можете сделать что-то вроде' if (filename == "first name") DoFirstThing(); else if (filename == "второе имя") DoSecondThing(); '. –

ответ

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); 
     } 
    } 
} 
+0

Что делать, если имена файлов различны каждый раз? – SmartDeveloper

+0

Вы объяснили в вопросе «Мне нужно прочитать текстовое имя файла, чтобы определить, какой метод я должен выполнить для этого конкретного файла». Что такое имя файла, которое позволяет вам определить, что с ним делать? И что вы пытаетесь достичь? – GantTheWanderer

+0

У меня есть три разных типа файлов с тремя разными именами (новый файл для повседневной работы с датой), мне нужно запускать каждый файл. Я смог использовать их, но теперь получаю «Формат заданных путей не поддерживается». – SmartDeveloper

Смежные вопросы