Nasıl yapılır: Günlük dosyasını açma ve ekleme
StreamWriter ve StreamReader akışlara karakter yazın ve akışlardan karakterleri okuyun. Aşağıdaki kod örneği giriş için log.txt dosyasını açar veya yoksa oluşturur ve günlük bilgilerini dosyanın sonuna ekler. Örnek daha sonra dosyanın içeriğini görüntülemek üzere standart çıktıya yazar.
Bu örneğin alternatifi olarak, bilgileri tek bir dize veya dize dizisi olarak depolayabilir ve aynı işlevselliği elde etmek için veya File.WriteAllLines yöntemini kullanabilirsinizFile.WriteAllText.
Not
Visual Basic kullanıcıları, günlük dosyalarını oluşturmak veya yazmak için sınıf veya FileSystem sınıf tarafından Log sağlanan yöntemleri ve özellikleri kullanmayı seçebilir.
Örnek
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.
Ayrıca bkz.
- StreamWriter
- StreamReader
- File.AppendText
- File.OpenText
- StreamReader.ReadLine
- Nasıl yapılır: Dizinleri ve dosyaları listeleme
- Nasıl yapılır: Yeni oluşturulan bir veri dosyasını okuma ve bu dosyaya yazma
- Nasıl yapılır: Dosyadan metin okuma
- Nasıl yapılır: Dosyaya metin yazma
- Nasıl yapılır: Dizeden karakterleri okuma
- Nasıl yapılır: Dizeye karakter yazma
- Dosya ve akış G/Ç