2012-03-30 21 views
1

Nachdem ich meine Schaltfläche, um ein Fenster zum Auswählen der Datei zu öffnen; Ich weiß nicht, wie man die Zahlen aus der eigentlichen Datei oder aus dem Stream namens mystream extrahiert.So extrahieren Sie die Zahlen aus einer Textdatei

Stream myStream; 
OpenFileDialog openFileDialog1 = new OpenFileDialog(); 

openFileDialog1.InitialDirectory = "c:\\" ; 
openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ; 
openFileDialog1.FilterIndex = 2 ; 
openFileDialog1.RestoreDirectory = true ; 

if(openFileDialog1.ShowDialog() == DialogResult.OK) 
{ 
    if((myStream = openFileDialog1.OpenFile())!= null) 
    { 
//Problem here: How do i extract the numerical values from my txt file or the stream called mystream. 
// Insert code to read the stream here. 

     myStream.Close(); 
    } 
} 
+5

In welchem ​​Format ...? –

+8

Zeigen Sie Ihre Eingabedatei an –

+0

Sie könnten einen 'StreamReader' verwenden, um' myStream' zu lesen, '.ReadLine()' und dann 'int.Parse' aufzurufen. – Marlon

Antwort

4

Nun, da wir Ihr Eingabeformat nicht wissen (wie die Zeit ich dies schreibe), ist es schwer zu sagen, was aus für immer die Zahlen genau zu tun.

Aber hier ist der allgemeine Kern für die Datei durch jede Zeile lesen ...

if(openFileDialog1.ShowDialog() == DialogResult.OK) 
{ 
    if((myStream = openFileDialog1.OpenFile())!= null) 
    { 
     using (var reader = new StreamReader(myStream)) 
     { 
      string line; 

      while ((line = reader.ReadLine()) != null) 
      { 
       // if it's one num per line, you can use Parse() or TryParse() 
       var num = int.Parse(line); 

       // otherwise, you can use something like string.Split() or RegEx... 
      } 
     } 
    } 
} 
+0

-1 Keine Antwort, nur eine wilde Vermutung. Erinnere mich daran, meinen Downvote abzubrechen, wenn OP deine Antwort akzeptiert. –

+1

@ L.B Es ist eine Textdatei, daher müssen die Zahlen im Textformat vorliegen. "int.Parse" gilt und diese Antwort auch. – Marlon

+0

@Marlon So sind Sie sicher, dass jede Zeile einen einzigen int enthält. –

Verwandte Themen