2017-02-11 1 views
1

Je crée un fichier txt en utilisant C# et en écrivant plusieurs lignes. Le problème est que cette ligne est ajoutée en haut et pas à la fin.Comment ajouter une ligne à la fin du fichier en utilisant File.Append in C#

Toute information sur la façon d'y parvenir. Ce chiffre est inférieur Code

private static void WriteReleaseSql(string sqlStatement) 
    { 
     string ReleaseoutputFilePath = ConfigurationManager.AppSettings["ReleaseOutputFilePath"]; 

     using (FileStream fs = new FileStream(ReleaseoutputFilePath, FileMode.Append, FileAccess.Write)) 
     using (StreamWriter sw = new StreamWriter(fs)) 
     { 
      sw.WriteLine(sqlStatement); 
     } 
    } 
+2

Pour moi ce code fonctionne comme prévu. La ligne sera ajoutée à la fin du fichier. – Steve

Répondre

1

Vous pouvez utiliser StreamWriter sans FileStream (instance utilisateur) et il fonctionne très bien pour moi

private static void WriteReleaseSql(string sqlStatement) 
{ 
    string ReleaseoutputFilePath = ConfigurationManager.AppSettings["ReleaseOutputFilePath"]; 

    using (StreamWriter sw = new StreamWriter(ReleaseoutputFilePath,True)) 
    { 
     sw.WriteLine(sqlStatement); 
    } 
} 

Note: votre code fonctionne bien

+1

Seulement sans flux "visible". Il y en a encore un. –

+0

Je suis d'accord avec ça – Hadi

-1

Utilisez Environment.NewLine pour ajouter une nouvelle ligne

1

Lorsque j'ai vérifié le site Web de MDSN pour FileMode, c'est la définition que j'ai obtenue.

Ouvre le fichier s'il existe et cherche à la fin du fichier, ou crée un nouveau fichier. Cela nécessite FileIOPermissionAccess. Ajoutez l'autorisation . FileMode.Append peut être utilisé uniquement avec FileAccess.Write. Essayer de rechercher une position avant la fin du fichier déclenche une exception IOException et toute tentative de lecture échoue et déclenche une exception NotSupportedException.

Dans la mesure où le doc va, il devrait ajouter des choses à la fin. Veuillez vérifier la sortie à nouveau. Je voudrais vraiment savoir comment ajouter des choses au sommet, cependant.