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 に答える