Bonjour, je n'arrive pas à comprendre comment écrire des données dans un fichier sans l'écraser. Je sais que je peux utiliser File.appendtext mais je ne sais pas comment intégrer cela dans ma syntaxe. Voici mon code:
TextWriter tsw = new StreamWriter(@"C:\Hello.txt");
//Writing text to the file.
tsw.WriteLine("Hello");
//Close the file.
tsw.Close();
Je veux qu'il écrive Bonjour à chaque fois que je lance le programme, pas écraser le fichier texte précédent. Merci d'avoir lu ceci.
Passez true
en tant que paramètre append
du constructeur :
TextWriter tsw = new StreamWriter(@"C:\Hello.txt", true);
Changez votre constructeur pour que true soit le deuxième argument.
TextWriter tsw = new StreamWriter(@"C:\Hello.txt",true);
Vous devez l'ouvrir en tant que new StreamWriter(filename, true)
pour qu'il soit ajouté au fichier au lieu de l'écraser.
Voici un morceau de code qui écrira des valeurs dans un fichier journal. Si le fichier n'existe pas, il le crée, sinon il ne fait qu'ajouter au fichier existant. Vous devez ajouter "using System.IO;" en haut de votre code, si ce n'est déjà fait.
string strLogText = "Some details you want to log.";
// Create a writer and open the file:
StreamWriter log;
if (!File.Exists("logfile.txt"))
{
log = new StreamWriter("logfile.txt");
}
else
{
log = File.AppendText("logfile.txt");
}
// Write to the file:
log.WriteLine(DateTime.Now);
log.WriteLine(strLogText);
log.WriteLine();
// Close the stream:
log.Close();
La meilleure chose est
File.AppendAllText("c:\\file.txt","Your Text");
Tout d’abord, vérifiez si le nom de fichier existe déjà. Si oui, créez un fichier et fermez-le en même temps, puis ajoutez votre texte avec AppendAllText
. Pour plus d'informations, vérifiez le code ci-dessous.
string FILE_NAME = "Log" + System.DateTime.Now.Ticks.ToString() + "." + "txt";
string str_Path = HostingEnvironment.ApplicationPhysicalPath + ("Log") + "\\" +FILE_NAME;
if (!File.Exists(str_Path))
{
File.Create(str_Path).Close();
File.AppendAllText(str_Path, jsonStream + Environment.NewLine);
}
else if (File.Exists(str_Path))
{
File.AppendAllText(str_Path, jsonStream + Environment.NewLine);
}
Regardez dans la classe File.
Vous pouvez créer un streamwriter avec
StreamWriter sw = File.Create(....)
Vous pouvez ouvrir un fichier existant avec
File.Open(...)
Vous pouvez facilement ajouter du texte avec
File.AppendAllText(...);
using (StreamWriter writer = File.AppendText(LoggingPath))
{
writer.WriteLine("Text");
}