[在 C# 中]如果我保持文件打开,我可以写入倍数输入并保存它,但如果我关闭它,重新打开它并再次开始写入,它从头开始并覆盖一切。我尝试使用FileMode.Append
打开它并执行File.Seek(0, SeekOrigin.End);
这是文件打开代码:
else if (File.Exists((dossier_defaut + nom_lexique)) && File.Exists((dossier_defaut + nom_index))) //si les deux fichiers existent
{
//ouverture des fichiers
fs_lxq = File.Open((dossier_defaut + nom_lexique + extLexique), FileMode.Append, FileAccess.ReadWrite); // Création du fichier
fs_idx = File.Open((dossier_defaut + nom_index + extIndex), FileMode.Open, FileAccess.ReadWrite); // Création du fichier
}
else //aucun fichier existe
{
//création de deux nouveaux fichiers
fs_lxq = File.Open((dossier_defaut + nom_lexique + extLexique), FileMode.Create, FileAccess.ReadWrite); // Création du fichier
fs_idx = File.Open((dossier_defaut + nom_index + extIndex), FileMode.Create, FileAccess.ReadWrite); // Création du fichier
}
我怎么能保证自己会写在最后?
可以使用File
对象的AppendText
方法。见下文:
using (StreamWriter sw = File.AppendText(path))
{
sw.WriteLine("This");
sw.WriteLine("is Extra");
sw.WriteLine("Text");
}
好的,
这只是我条件中的一个愚蠢错误,检查文件是否存在于程序的对立面,我忘记添加文件扩展名,所以它找不到它并每次创建新文件