方法 : ログ ファイルを開いて情報を追加する
更新 : 2007 年 11 月
StreamWriter と StreamReader は、文字をストリームに書き込んだり、文字をストリームから読み取ったりします。入力用として log.txt ファイルを開くか、ファイルが存在しない場合は作成し、ファイルの末尾に情報を追加するコードの例を次に示します。その後で、ファイルの内容を表示するために標準出力に書き込みます。この例に代わる方法として、情報を 1 つの文字列または文字列配列として格納できます。また、WriteAllText または WriteAllLines メソッドを使用して同じ機能を実行することもできます。
メモ : |
---|
Visual Basic では、ログ ファイルの作成、またはログ ファイルへの書き込みを行う場合に、My.Application.Log オブジェクトまたは My.Computer.FileSystem オブジェクトに用意されているメソッドとプロパティを使用することもできます。詳細については、「My.Application.Log オブジェクト」および「My.Computer.FileSystem オブジェクト」を参照してください。 |
使用例
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();
}
}
参照
処理手順
方法 : 新しく作成されたデータ ファイルに対して読み書きする