Comment : ouvrir un fichier journal et y ajouter des éléments
Les objets StreamWriter et StreamReader lisent des caractères à partir des flux ou les y écrivent. L'exemple de code suivant ouvre le fichier log.txt en entrée, ou crée le fichier s'il n'existe pas déjà, et ajoute les informations en fin de fichier. Le contenu du fichier est ensuite écrit dans une sortie standard pour être affiché. Une autre solution consisterait à stocker les informations en tant que chaîne unique ou tableau de chaînes et à utiliser la méthode WriteAllText ou WriteAllLines pour obtenir les mêmes fonctionnalités.
Remarque |
---|
Les utilisateurs de Visual Basic peuvent choisir d'utiliser les méthodes et les propriétés fournies par les classes Log ou FileSystem pour les E/S de fichiers. |
Exemple
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();
}
Voir aussi
Tâches
Comment : créer une liste des répertoires
Comment : lire et écrire dans un fichier de données créé récemment
Comment : lire du texte dans un fichier
Comment : écrire du texte dans un fichier
Comment : lire les caractères d'une chaîne
Comment : écrire des caractères dans une chaîne