C#: Findet Datei nicht



  • Hallo Community,
    Ich schreibe gerade an einem Programm, indem eine .txt eingelesen werden soll, die nicht innerhalb von Visual Studio zum Projekt hinzugefügt wurde. Ich bin nur gerade zu dumm glaube ich 😕

    FileStream fs = new FileStream("ein.txt", FileMode.Open);
    StreamReader sr = new StreamReader(fs);
    

    Das ist die Wichtige Stelle in meinem Code. Wenn ich eine "ein.txt" innerhalb von Visual Studio zum Projekt hinzufüge funktioniert das soweit super, wenn ich aber außerhalb von VS eine "ein.txt" im entsprechenden Verzeichnis erstelle kommt eine Fehlermeldung: Datei nicht gefunden.

    2 Fragen hätte ich hierzu:
    1.: Wieso?
    2.: Wie kann ich das beheben?

    LG Last Empire



  • Überprüfe mal das Arbeitsverzeichnis des Programms. Unter VS ist es so, dass es beim Starten das Projektverzeichnis als Arbeitsverzeichnis auswählt, das lässt sich in den Projekteinstellungen setzen.



  • Ich hab die Datei in jedes Verzeichnis des Projekts getan aber es funktioniert leider immer noch nicht 😞



  • Moooorge

    string file = "ein.txt";
    			string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, file);
    			FileStream fs = new FileStream(path, FileMode.Open);
    


  • Hey!

    Techels Hinweis folgend, könntest du dir mal per Directory.GetCurrentDirectory() das Verzeichnis ausgeben lassen, von denen aus deine relativen Pfade aufgelöst werden (eben das Arbeitsverzeichnis). Dann weißt du auch, wo du deine ein.txt hin packen musst, damit sie gefunden wird.

    Am besten schaust du auch im Netz nach "working directory", um zu verstehen, woher dein Phänomen rührt.


Anmelden zum Antworten