Freigeben über


Gewusst wie: Öffnen und Anfügen an eine Protokolldatei

Aktualisiert: November 2007

StreamWriter und StreamReader schreiben Zeichen in Streams bzw. lesen Zeichen daraus. Im folgenden Codebeispiel wird die Datei log.txt für die Eingabe geöffnet oder, falls nicht vorhanden, erstellt. Anschließend werden Informationen an das Ende der Datei angefügt. Danach wird der Inhalt der Datei für die Anzeige in die Standardausgabe geschrieben. In einer Alternative zu diesem Beispiel können die Informationen als einzelne Zeichenfolge oder einzelnes Zeichenfolgenarray gespeichert werden, und mithilfe der WriteAllText-Methode oder der WriteAllLines-Methode kann dann die gleiche Funktionalität erzielt werden.

Hinweis:

Visual Basic-Benutzer geben möglicherweise der Verwendung der Methoden und Eigenschaften den Vorzug, die vom My.Application.Log-Objekt oder vom My.Computer.FileSystem-Objekt zum Erstellen und Schreiben von Protokolldateien bereitgestellt werden. Weitere Informationen finden Sie unter My.Application.Log-Objekt und My.Computer.FileSystem-Objekt.

Beispiel

Option Explicit On 
Option Strict On
Imports System
Imports System.IO
Imports Microsoft.VisualBasic
Class DirAppend
    Public Shared Sub Main()
        Using w As StreamWriter = File.AppendText("log.txt")
            Log("Test1", w)
            Log("Test2", w)
            ' Close the writer and underlying file.
            w.Close()
        End Using
        ' Open and read the file.
        Using r As StreamReader = File.OpenText("log.txt")
            DumpLog(r)
        End Using
    End Sub
    Public Shared Sub Log(ByVal logMessage As String, ByVal w As TextWriter)
        w.Write(ControlChars.CrLf & "Log Entry : ")
        w.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(), DateTime.Now.ToLongDateString())
        w.WriteLine("  :")
        w.WriteLine("  :{0}", logMessage)
        w.WriteLine("-------------------------------")
        ' Update the underlying file.
        w.Flush()
    End Sub
    Public Shared Sub DumpLog(ByVal r As StreamReader)
        ' While not at the end of the file, read and write lines.
        Dim line As String
        line = r.ReadLine()
        While Not line Is Nothing
            Console.WriteLine(line)
            line = r.ReadLine()
        End While
        r.Close()
    End Sub
End Class
using System;
using System.IO;
class DirAppend
{
    public static void Main(String[] args)
    {
        using (StreamWriter w = File.AppendText("log.txt"))
        {
            Log ("Test1", w);
            Log ("Test2", w);
            // Close the writer and underlying file.
            w.Close();
        }
        // Open and read the file.
        using (StreamReader r = File.OpenText("log.txt"))
        {
            DumpLog (r);
        }
    }
    public static void Log (String logMessage, TextWriter w)
    {
        w.Write("\r\nLog Entry : ");
        w.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(),
            DateTime.Now.ToLongDateString());
        w.WriteLine("  :");
        w.WriteLine("  :{0}", logMessage);
        w.WriteLine ("-------------------------------");
        // Update the underlying file.
        w.Flush(); 
    }
    public static void DumpLog (StreamReader r)
    {
        // While not at the end of the file, read and write lines.
        String line;
        while ((line=r.ReadLine())!=null)
        {
            Console.WriteLine(line);
        }
        r.Close();
    }
}

Siehe auch

Aufgaben

Gewusst wie: Erstellen einer Verzeichnisauflistung

Gewusst wie: Lesen und Schreiben einer neu erstellten Datendatei

Gewusst wie: Lesen aus einer Textdatei

Gewusst wie: Schreiben von Text in eine Datei

Gewusst wie: Lesen von Zeichen aus einer Zeichenfolge

Gewusst wie: Schreiben von Zeichen in eine Zeichenfolge

Konzepte

Grundlegende Datei-E/A

Referenz

StreamWriter

StreamReader

File.AppendText

File.OpenText

StreamReader.ReadLine