Gör så här: Öppna och lägg till i en loggfil
StreamWriter och StreamReader skriva tecken till och läsa tecken från strömmar. I följande kodexempel öppnas den log.txt filen för indata eller skapar den om den inte finns och lägger till logginformation i slutet av filen. Exemplet skriver sedan innehållet i filen till standardutdata för visning.
Som ett alternativ till det här exemplet kan du lagra informationen som en enskild sträng eller strängmatris och använda File.WriteAllText metoden eller File.WriteAllLines för att uppnå samma funktioner.
Kommentar
Visual Basic-användare kan välja att använda de metoder och egenskaper som tillhandahålls av Log klassen eller FileSystem klassen för att skapa eller skriva till loggfiler.
Exempel
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.
Se även
- StreamWriter
- StreamReader
- File.AppendText
- File.OpenText
- StreamReader.ReadLine
- Gör så här: Räkna upp kataloger och filer
- Anvisningar: Läsa och skriva till en nyligen skapad datafil
- Anvisningar: Läsa text från en fil
- Anvisningar: Skriva text till en fil
- Anvisningar: Läsa tecken från en sträng
- Anvisningar: Skriva tecken till en sträng
- Fil- och ström-I/O