Mittwoch, 4. April 2012

[TuT] Mit VB.NET eine Textdatei schreiben und lesen(System.IO)

System.IO


Inhalt


Mit VB.NET eine Textdatei schreiben und lesen(System.IO)


Damit dieses Beispiel funktioniert, muss eine Textdatei vorhanden sein, welche 2 Linien hat.
Unser Beispiel:
Anfang txt-Datei
Pfad
\\xxsavms2\sd\bilder\etc
Ende txt-Datei
Die globalen Deklarationen lauten:
    '----------------------------------
    ' System.IO Objekte
    '----------------------------------
    Dim objStreamReader As StreamReader
    Dim objStreamWriter As StreamWriter

    '----------------------------------
    ' System.IO Strings
    '----------------------------------
    Dim strLine As String
    Dim strPfad As String
    Dim strPfadDatei As String = "Media.pfad"
    '----------------------------------

Media.pfad ist unsere Textdatei. Der Name zeigt, was die Datei beinhaltet und weil sie von einer txt – Datei in einer Pfad – Datei umgewandelt wurde, erkennt man nicht auf den ersten Blick, dass es sich um eine Textdatei handelt. (Also eine Art Verschlüsslung)

Lesen

Als erstes muss ein StreamReader initialisiert werden und die erste Linie lesen.
        '---------------------------------
        ' StreamReader wird initialisiert
        '---------------------------------
        objStreamReader = New StreamReader(strPfadDatei)

        '---------------------------------
        ' 1. Linie
        '---------------------------------
        strLine = objStreamReader.ReadLine
Die erste Linie benötigen wir aber nicht, weil da nur “Pfad” steht, wir aber den Pfad wissen wollen. Also muss strLine die zweite Linie sein.
        '---------------------------------
        ' StrLine ist = 2. Linie
        '---------------------------------
        strLine = objStreamReader.ReadLine

Dafür lassen wir den Reader nur wieder eine Linie lesen.
Wir wollen nun den Pfad als String „abspeichern“:
        '---------------------------------------------------
        ' strPfad als Pfad mit variabel für Haus oder Bilder
        '---------------------------------------------------
        strPfad = Mid(strLine, 1) & HausOderObjekt & "\"

Das HausOderObjekt ist eine Variabel, welche wir zum Pfad hinzufügen können.
Zum Schluss wird der Reader geschlossen.

        '-------------------------
        ' Reader wird geschlossen
        '-------------------------
        objStreamReader.Close()

Schreiben


Das Schreiben findet seine Anwendung zum Beispiel bei einer Konfigurations – Maske, bei der der Pfad geändert werden kann.
Eine TextBox mit dem Pfad als String muss vorhanden sein, damit der User diesen Pfad ändern kann:
        '-------------------------------
        ' TextBox wird mit Pfad gefüllt
        '-------------------------------
        txtConfig.Text = strPfad


Der Rest ist ähnlich wie beim Lesen:
        '-------------------------------------
        ' StreamWriter wird initiert
        '-------------------------------------
        objStreamWriter = New StreamWriter(strPfadDatei)

        '-------------------------------------
        ' erste Linie wird geschrieben "Pfad"
        '-------------------------------------
        objStreamWriter.WriteLine("Pfad")

        '--------------------------------------------
        ' zweite Linie (der Pfad) wird überschrieben)
        '--------------------------------------------
        objStreamWriter.WriteLine(txtConfig.Text)

        '------------------------------
        ' Writer wird geschlossen
        '------------------------------
        objStreamWriter.Close()