Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 重新打开文件后,继续在文件末尾写入_C#_File_Indexing_Filestream_Binarywriter - Fatal编程技术网

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

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


}

我如何保证它会一直写到最后呢?

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

        using (StreamWriter sw = File.AppendText(path)) 
        {
            sw.WriteLine("This");
            sw.WriteLine("is Extra");
            sw.WriteLine("Text");
        } 

好吧,这只是我的条件中的一个愚蠢的错误,在程序启动时检查文件是否存在。我忘记添加文件扩展名,所以每次都找不到它并创建新文件。很抱歉,我忘了提到我正在使用binarywriter