Frage

StreamReader fr = new StreamReader("D:\\test\\" + item);

Dies ist, was ich tun möchte. Der Artikel ist ein String mit dem Dateinamen. Das Loch Schnur ist wie die

"D:\\test\\01-Marriotts Island.mp3"

vor dem er die Stream zu erzeugen versucht. was ist falsch mit dem Weg?

War es hilfreich?

Lösung

Stream zum Lesen von Zeichendaten ausgelegt. Sie sollten verwenden Binary statt, wenn Sie versuchen, lesen Sie eine binäre Daten, wie zum Beispiel den Inhalt einer mP3-Datei.

Update: Wie Marc Sie auch streamen die Datei zu lesen und dies ein einfacher zu bedienende Schnittstelle zur Manipulation der Datei als Binary bereitstellen. Auch ich zweite seine Empfehlung verwenden Path.Combine wenn Aufbau der Pfad zur Datei, die Sie zugreifen möchten.

Andere Tipps

Gibt es eine Nachricht, die mit ihm geht? Für Informationen, ist der einfachste Weg, Wege zu kombinieren mit Path.Combine:

using(StreamReader fr = new StreamReader(Path.Combine(@"D:\Test", item))) {
   // ...
}

(beachten Sie auch die using, um sicherzustellen, es angeordnet ist)

oder noch deutlicher (IMO):

using(StreamReader fr = File.OpenText(Path.Combine(@"D:\Test", item))) {
    // ...
}

(natürlich, wie bereits an anderer Stelle erwähnt, ein StreamReader für mp3 ungeeignet sein kann)

Beratung der MSDN-Dokumentation für Stream , weiß ich nicht siehe NotSupportedException als Ausnahme aufgelistet, dass dieser API werfen. Allerdings eine andere ähnliche Konstruktor Überlastung es auflistet:

  

NotSupportedException: Pfad enthält   eine falsche oder ungültige Syntax für   Dateinamen, Verzeichnisnamen oder Volumen   Label.

Also habe ich versucht, es selbst mit einer ungültigen Datenträgerbezeichnung und in der Tat bekommt NotSupportedException:

StreamReader reader = new StreamReader("DD:\\file.txt");

// throws...
//
// Unhandled Exception: System.NotSupportedException: The given path's format is not supported.

Also meine Vermutung ist, es ist etwas falsch mit Ihrem Weg ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top