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