Procedure: Openen en toevoegen aan een logboekbestand
StreamWriter en StreamReader schrijf tekens naar en lees tekens uit streams. In het volgende codevoorbeeld wordt het log.txt bestand voor invoer geopend of gemaakt als het niet bestaat en worden logboekgegevens toegevoegd aan het einde van het bestand. In het voorbeeld wordt vervolgens de inhoud van het bestand naar de standaarduitvoer voor weergave geschreven.
Als alternatief voor dit voorbeeld kunt u de informatie opslaan als één tekenreeks of tekenreeksmatrix en de File.WriteAllText of File.WriteAllLines methode gebruiken om dezelfde functionaliteit te bereiken.
Notitie
Visual Basic-gebruikers kunnen ervoor kiezen om de methoden en eigenschappen van de Log klasse of FileSystem klasse te gebruiken voor het maken of schrijven naar logboekbestanden.
Voorbeeld
using System;
using System.IO;
class DirAppend
{
public static void Main()
{
using (StreamWriter w = File.AppendText("log.txt"))
{
Log("Test1", w);
Log("Test2", w);
}
using (StreamReader r = File.OpenText("log.txt"))
{
DumpLog(r);
}
}
public static void Log(string logMessage, TextWriter w)
{
w.Write("\r\nLog Entry : ");
w.WriteLine($"{DateTime.Now.ToLongTimeString()} {DateTime.Now.ToLongDateString()}");
w.WriteLine(" :");
w.WriteLine($" :{logMessage}");
w.WriteLine ("-------------------------------");
}
public static void DumpLog(StreamReader r)
{
string line;
while ((line = r.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
}
// The example creates a file named "log.txt" and writes the following lines to it,
// or appends them to the existing "log.txt" file:
// Log Entry : <current long time string> <current long date string>
// :
// :Test1
// -------------------------------
// Log Entry : <current long time string> <current long date string>
// :
// :Test2
// -------------------------------
// It then writes the contents of "log.txt" to the console.
Imports System.IO
Class DirAppend
Public Shared Sub Main()
Using w As StreamWriter = File.AppendText("log.txt")
Log("Test1", w)
Log("Test2", w)
End Using
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($"{DateTime.Now.ToLongTimeString()} {DateTime.Now.ToLongDateString()}")
w.WriteLine(" :")
w.WriteLine($" :{logMessage}")
w.WriteLine("-------------------------------")
End Sub
Public Shared Sub DumpLog(r As StreamReader)
Dim line As String
line = r.ReadLine()
While Not (line Is Nothing)
Console.WriteLine(line)
line = r.ReadLine()
End While
End Sub
End Class
' The example creates a file named "log.txt" and writes the following lines to it,
' or appends them to the existing "log.txt" file:
' Log Entry : <current long time string> <current long date string>
' :
' :Test1
' -------------------------------
' Log Entry : <current long time string> <current long date string>
' :
' :Test2
' -------------------------------
' It then writes the contents of "log.txt" to the console.
Zie ook
- StreamWriter
- StreamReader
- File.AppendText
- File.OpenText
- StreamReader.ReadLine
- Procedure: Mappen en bestanden opsommen
- Procedure: lezen en schrijven naar een nieuw gemaakt gegevensbestand
- Procedure: Tekst uit een bestand lezen
- Procedure: Tekst naar een bestand schrijven
- Procedure: Tekens uit een tekenreeks lezen
- Procedure: Tekens naar een tekenreeks schrijven
- I/O voor bestanden en streamen