Royal_Flush Geschrieben 3. Oktober 2010 Geschrieben 3. Oktober 2010 (bearbeitet) Hallo, Ich versuche eine Datei zu öffnen, die im selben Verzeichnis liegt wie mein Programm. Da FileStream ja keine relativen Pfadangaben unterstützt, wollte ich mir den Pfad wie folgt ausgeben lassen: System::String^ Path = Directory::GetCurrentDirectory() + "/"; FileStream^ datei = gcnew FileStream( Path, FileMode::Open ); Das Problem ist jetzt, dass ich während des Ausführens folgende Fehlermeldung erhalte: Eine nicht behandelte Ausnahme des Typs "System.IO.DirectoryNotFoundException" ist in mscorlib.dll aufgetreten. Zusätzliche Informationen: Ein Teil des Pfades "c:\Dokumente und Einstellungen\xxx\Eigene Dateien\Visual Studio 2008\Projects\test\test\" konnte nicht gefunden werden. woran könnte das liegen? Bearbeitet 3. Oktober 2010 von Royal_Flush Präfix Zitieren
NerdonRails Geschrieben 3. Oktober 2010 Geschrieben 3. Oktober 2010 Kann es sein das du vergessen hast, den Dateinamen mitzugeben ? Zitieren
Klotzkopp Geschrieben 3. Oktober 2010 Geschrieben 3. Oktober 2010 woran könnte das liegen?Das könnte daran liegen, dass du nirgendwo einen Dateinamen angibst. Übrigens liefert dir GetCurrentDirectory das aktuelle Arbeitsverzeichnis, nicht das Verzeichnis, in dem das Programm liegt. Zitieren
Royal_Flush Geschrieben 3. Oktober 2010 Autor Geschrieben 3. Oktober 2010 Das kann schon sein, aber wenn ich den Dateinamen dranhänge, bringt er mir beim darauffolgendem StreamReader die Fehlermeldung, dass die Datei bereits von einem anderen Prozess verwendet werde. System::String^ Path = Directory::GetCurrentDirectory() + "/server.properties"; FileStream^ datei = gcnew FileStream( Path, FileMode::Open ); StreamReader^ reader = gcnew StreamReader( "server.properties" ); Zwar bekomme ich jetzt beim FileStream keine Fehlermeldung mehr, aber ohne StreamReader kann ich doch auch nichts auslesen, oder? Zitieren
2K1.INC Geschrieben 4. Oktober 2010 Geschrieben 4. Oktober 2010 Das kann schon sein, aber wenn ich den Dateinamen dranhänge, bringt er mir beim darauffolgendem StreamReader die Fehlermeldung, dass die Datei bereits von einem anderen Prozess verwendet werde. System::String^ Path = Directory::GetCurrentDirectory() + "/server.properties"; FileStream^ datei = gcnew FileStream( Path, FileMode::Open ); StreamReader^ reader = gcnew StreamReader( "server.properties" ); Zwar bekomme ich jetzt beim FileStream keine Fehlermeldung mehr, aber ohne StreamReader kann ich doch auch nichts auslesen, oder? Es liegt daran das du schon die Datei mit dem FileStream benutzt darum kann der StreamReader nicht drauf zugreifen... Wenn du nur was aus der Dateilesen willst brauchst du nur den StreamReader.. der is leichter zum usen. StreamReder sr = new StreamReder(datei); st.ReadLine(); ließt die erste zeile aus ... rufst du nochmal readLine() auf ließt er die zweite zeile aus... Zitieren
Royal_Flush Geschrieben 4. Oktober 2010 Autor Geschrieben 4. Oktober 2010 Oh, ok, jetzt funktioniert es. Ich bin davon ausgegangen, dass ich einen FileStream brauche, um eine FileReader arbeiten lassen zu können. Da habe ich das Turorial wohl etwas missverstanden. Danke. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.