IO.StreamReader Pfad und Datei auseinander halten?

  • Modern UI

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von WolfCrafter9.

    IO.StreamReader Pfad und Datei auseinander halten?

    Hallo lieber User,

    ich habe folgendes Problem:Ich will ein Programm programmieren,wo ich Geräte mit einem Text speichern kann.
    Die Textdatei hat den gleichen Namen wie das Gerät. (Wie z.B. Drucker.txt)
    Wenn ich aber die Textdatei einlesen will (in eine RichTextBox) passiert folgendes:
    Der Pfad wurde nicht gefunden:(Mein Dokumentenpfad bis zum Projekt)\Text\.txt

    Mein Code:

    Visual Basic-Quellcode

    1. TextBox1.Text = ListBox1.SelectedItem
    2. My.Settings.GIndex = ListBox1.SelectedItem
    3. Dim Datei As String = My.Settings.GIndex & ".txt"
    4. Using sr As New IO.StreamReader(Application.StartupPath & "\Text\" & Datei, True)
    5. RichTextBox1.Text = sr.ReadToEnd
    6. End Using


    Danke im Vorraus! WolfCrafter9
    Ich habe das gemacht,aber wenn ich den Listbox Eintrag anklicke,kommt der Fehler,das es Hallo.txt nicht gibt. (Aber sie gibt es)

    Visual Basic-Quellcode

    1. TextBox1.Text = ListBox1.SelectedItem
    2. My.Settings.GIndex = ListBox1.SelectedItem
    3. Dim pfad = IO.Path.Combine(Application.StartupPath, ListBox1.SelectedItem & ".txt")
    4. Using sr As New IO.StreamReader(pfad, True)
    5. RichTextBox1.Text = sr.ReadToEnd
    6. End Using

    Der Eintrag heißt Hallo
    1. Bitte Option Strict On und Fehler beheben, denn sonst packst Du ggf. ein ListBoxItem (und nicht den Text, der drin steht) in Deine Settings, genauso wie in den Pfad.
    2. Post 1, Zeile 2, 3: Gibt es einen sinnvollen Grund, Deine Application Settings für einen sich dauernd ändernden Wert zu verwenden/missbrauchen?
    3. Post 6 steht also in ListBox1_SelectedIndexChanged, richtig? Bitte vollständig posten, sonst wird das nix mit der Fehlerbehebung durch uns.
    4. Mach mal einen Haltepunkt in der Zeile bei Using sr As ..., geh mit der Maus über pfad, kopier Dir den Wert von pfad, füge ihn in Deine Adressleiste im Windows-Datei-Explorer ein, lösche den Dateinamen und schau, ob Du im korrekten Verzeichnis rauskommst und ob dort wirklich Deine Hallo.txt zu finden ist. Oder füg eine Zeile vor Using sr As ... ein, schreib dort If Not IO.File.Exists(pfad) Then Stop rein. Wenn das Programm da Dein Programm unterbricht, gibt es die Datei wohl doch nicht.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.