2016-10-28 7 views
0

Ich habe dies Tausende Male getan und kann nicht für das Leben von mir, warum der StreamReader unten diesen Fehler wirft. Ausführen von Visual Studios 2010 und .Net 4.0. Sein altes Zeug, aber es hat mir nie Probleme gegeben.StreamReader löst NotSupportedException

var listOfEmailss = new List<string>(); 
     string emailFrom = email.Text.Trim(); 
     string pass = password.Text.Trim(); 
     StreamReader tr = new StreamReader(@"‪C:\Users\Tom\Desktop\emailTest.txt"); 
     string line = ""; 
     while ((line = tr.ReadLine()) != null) 
     { 
      listOfEmailss.Add(line.Split(',').Last().Trim()); 
     } 

enter image description here

+0

Überprüfen Sie, ob in der Pfadzeichenfolge ausgeblendete Zeichen oder Codepunkte vorhanden sind. Ich hatte manchmal einige, die nicht im Herausgeber zeigen, aber Probleme verursachen –

Antwort

2

This answer schlägt vor, dass in Ihrer Zeichenfolge möglicherweise Unicode-Zeichen versteckt sind. Löschen Sie es und geben Sie es erneut manuell ein.

+0

Ich muss diesen Link verpasst haben. Ich sehe jedoch keine tatsächliche Lösung zum Entfernen dieser Zeichenliterale. Ist das manuelle Abtippen alles die einzige Option? Keine Möglichkeit, sie im Code zu entfernen. – user2755680

+0

Sie müssen das Zeichenfolgenliteral manuell neu eingeben. Sie könnten es wahrscheinlich mit Code bereinigen, aber da das Problem mit der * source * zusammenhängt, sollten Sie es wahrscheinlich dort beheben. – apk

1

Das ist ärgerlich ist es nicht. Ich habe es in der Vergangenheit gesehen. Wenn Sie den Pfad vom Windows-Explorer oder irgendwo anders kopiert haben, besteht die Möglichkeit, dass ein verstecktes Zeichen in die Pfadzeichenfolge eingefügt wird. Ich würde empfehlen, dass Sie den Dateipfad explizit löschen und manuell eingeben.

Das sollte es sortieren.

Um zu bestätigen, kopieren Sie den gleichen Pfad (was Sie gerade haben) und versuchen Sie, ein FIleInfo-Objekt zu erstellen. Meine Vermutung ist, dass Sie dort auch die gleiche Ausnahme sehen werden.

1

Das Problem ist, dass ein Unicode-Zeichen in den Dateipfad eingebettet ist. Insbesondere befindet sich direkt nach dem Anführungszeichen zwischen dem Anführungszeichen und dem Zeichen c ein "Von links nach rechts einbetten" -Zeichen.

Ich würde diese Zeichen löschen und sie erneut eingeben.