Gewusst wie: Öffnen und Anfügen an eine Protokolldatei
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 können zum Erstellen von oder Schreiben in Protokolldateien die von der Log-Klasse oder der FileSystem-Klasse bereitgestellten Methoden und Eigenschaften verwenden. |
Beispiel
Imports System
Imports System.IO
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(logMessage As String, w As TextWriter)
w.Write(vbCrLf + "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(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()
{
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();
}
}
using namespace System;
using namespace System::IO;
ref class DirAppend
{
public:
static void Main()
{
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.
StreamReader^ r = File::OpenText("log.txt");
DumpLog(r);
r->Close();
}
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();
}
static void DumpLog(StreamReader^ r)
{
// While not at the end of the file, read and write lines.
String^ line;
while ((line = r->ReadLine()) != nullptr)
{
Console::WriteLine(line);
}
r->Close();
}
};
int main()
{
DirAppend::Main();
}
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