2017-01-18 8 views
0

私はインターネットでこれを読んで研究しており、誰かがこれを手伝ってくれることを願っています。私は別の名前の3つの異なるテキストファイルを読み込むように書いていますが、その特定のファイルに対してどのメソッドを実行する必要があるのか​​を判断するには、テキストファイル名を読む必要があります。これは私が今までに持っているものであり、どんな助けも大いに評価されるだろう。複数のファイルを読む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 == "second name")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

私は3つの異なる名前の3種類のファイルを持っています(毎日の新しいファイル)。各ファイルを実行する必要があります。私はcontainsを使用することができましたが、 "指定されたパスのフォーマットはサポートされていません"となっています。 – SmartDeveloper

関連する問題