Entwickler-Ecke
IO, XML und Registry - Streamreader kann keine Dateien öffnen????
Rookie861 - Di 08.01.08 00:42
Titel: Streamreader kann keine Dateien öffnen????
Ich habe gerade erst mit C# angefangen und stehe jetzt wohl vor einem grundlegenden Problem:
Ich kann mit dem StreamReader einfach keine Datei öffnen, ich bekomme immer eine Filenotfound-Exception an den Kopf geschmissen.
Schon das einfachste Beispiel funktioniert nicht:
C#-Quelltext
1: 2: 3: 4: 5:
| static void Main(string[] args) { System.IO.StreamReader sr = new System.IO.StreamReader(@"d:\test.tmp"); sr.Close(); } |
Beim Konstruktor-Parameter habe ich schon alles versucht, von "d:\\test.tmp" bis "d:\test.tmp", mit @ und ohne @. Ich bin echt am verzweifeln, mit dem Writer scheint alles zu funktionieren, mit dem Reader funktioniert einfach nichts. :?
PS: Die Datei d:\test.tmp existiert natürlich.
Moderiert von
Christian S.: Code- durch C#-Tags ersetztModeriert von
Christian S.: Topic aus C# - Die Sprache verschoben am Di 08.01.2008 um 09:49
golgol - Di 08.01.08 09:25
Hi, und willkommen im Forum.
Zunächst ein kleiner Tip: Da eine Exception geschmissen werden kann (bzw. in diesem Fall sogar mehrere erschiedene) würde ich das ganze immer in einen Try-Catch-Block packen - ist einfach sauberer und reißt nicht zwangsläufig die Software mit. Ganz allgemein kannst du das entweder mit @"d:\temp.txt" oder "d:\\temp.txt" machen, sollte beides funktionieren. Schau dir mal folgendes Beispiel aus der SDK-Dokumentation an und probier das damit mal aus. Wenn das auch nicht klappt musst du irgendein lokales Problem haben (wobei ich mir nicht vorstellen kann, dass es nicht klappen sollte, wenn das mit dem Writer klappt):
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| using System; using System.IO;
class Test { public static void Main() { try { using (StreamReader sr = new StreamReader("TestFile.txt")) { String line; while ((line = sr.ReadLine()) != null) { Console.WriteLine(line); } } } catch (Exception e) { Console.WriteLine("The file could not be read:"); Console.WriteLine(e.Message); } } } |
Rookie861 - Di 08.01.08 13:35
Ich habe das Projekt einmal 1 zu 1 übernommen, trotzdem funktioniert es nicht.
"Die Datei D:\Visual Studio 2005\Projects\HelloWorld\bin\Debug\TestFile.txt konnte nicht gefunden werden."
Es ist wirklich zum verzweifeln, wieso findet er diese Datei nicht obwohl sie ja existiert?
bakachan - Di 08.01.08 13:39
Auf Anhieb fällt mir keine Garantierte lösung ein.
am wahrscheinlichsten ist immernoch das die Dateien nicht existieren (vielleicht verwechselst du den laufwerksbuchstaben?).
ne andere Variante wären das du als Benutzer nicht genug Rechte hast um an die Dateien ranzukommen aber kann ich mir ehrlichgesagt nicht vorstellen das du ans vs2005 nit rankommen sollst wenn du doch grade damit programmierst
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!