0

[在 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


}

我怎么能保证它总是会写到最后呢?

4

2 回答 2

1

您可以使用对象的AppendText方法File。见下文:

        using (StreamWriter sw = File.AppendText(path)) 
        {
            sw.WriteLine("This");
            sw.WriteLine("is Extra");
            sw.WriteLine("Text");
        } 
于 2012-12-08T02:58:47.183 回答
0

好的,这只是我的条件中的一个愚蠢的错误,即在程序打开时检查文件是否存在我忘记添加文件扩展名,因此每次都找不到它并创建新文件

于 2012-12-08T13:20:55.780 回答