C# 重新打开文件后,继续在文件末尾写入
[在C#中]如果我保持文件打开,我可以写入多个输入并保存它,但如果我关闭它,重新打开它并再次开始写入,它将从乞讨开始,并对所有内容进行过度渲染。我尝试使用C# 重新打开文件后,继续在文件末尾写入,c#,file,indexing,filestream,binarywriter,C#,File,Indexing,Filestream,Binarywriter,[在C#中]如果我保持文件打开,我可以写入多个输入并保存它,但如果我关闭它,重新打开它并再次开始写入,它将从乞讨开始,并对所有内容进行过度渲染。我尝试使用FileMode.Append打开它,并执行File.Seek(0,SeekOrigin.End) 以下是文件打开代码: else if (File.Exists((dossier_defaut + nom_lexique)) && File.Exists((dossier_defaut + nom_index))) //si
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
}
我如何保证它会一直写到最后呢?您可以使用文件
对象的AppendText
方法。见下文:
using (StreamWriter sw = File.AppendText(path))
{
sw.WriteLine("This");
sw.WriteLine("is Extra");
sw.WriteLine("Text");
}
好吧,这只是我的条件中的一个愚蠢的错误,在程序启动时检查文件是否存在。我忘记添加文件扩展名,所以每次都找不到它并创建新文件。很抱歉,我忘了提到我正在使用binarywriter