Caractère de nouvelle ligne dans le fichier texte (C#)
Je suis exportation du texte dans un fichier en C# à l'aide de System.IO.File.AppendAllText
, et en le passant dans le fichier texte, puis le texte je veux exporter avec \n
ajouté à la fin. Quand j'ai vue le texte du document, ils ne sont pas sur des lignes différentes, bien que ce fichus de retour de ligne de caractère est là, entre les lignes. Ainsi, le système peut penser que c'est deux la ligne, mais un utilisateur ne voit en elle qu'un. Comment cela peut-il être corrigés automatiquement, sans faire un rechercher-remplacer à chaque fois que je générer un fichier?
System.IO.File.AppendAllText(@"./WarningsLog.txt", line + "\n");
- Comment êtes-vous créer le texte à ajouter dans le fichier? Êtes-vous à l'aide de
StringBuilder
etAppendLine()
ou tout simplement de la concaténation d'une chaîne de caractères? - Deviner ce qui peut être mal dans votre code sans voir ce code n'est pas très efficace.
- Essayez d'ajouter
\r\n
au lieu de\n
- Double Possible de la Différence entre "\n" et de l'Environnement.De retour à la ligne
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser le
Environment.NewLine
au lieu de\n
, parce que le saut de ligne peut être plus que cela. dans windows (si je ne me trompe pas), la valeur par défaut est en fait\r\n
Bien que, à l'aide de
\r\n
, vous aide temporaire, à l'aide deEnvironment.NewLine
est la bonne façon d'allerTout d'abord, il y a un couple de façons de le pour représenter la nouvelle ligne.
Les plus couramment utilisés sont:
\n
caractère.\n
représente ici le newline caractère.\r\n
caractères.\r
ici va pour le transport rendement de caractère.Si vous écrivez quelque chose d'indépendant de la plateforme,
de l'Environnement.De retour à la ligne
fera le travail pour vous et choisir le bon personnage(s).MSDN membres qu'il représente:
Aussi, dans certains cas, vous souhaiterez peut-être utiliser
System.IO.Fichier.AppendAllLines
qui prend unIEnumerable<string>
que les lignes de la collection et l'ajoute au fichier. Malheureusement, je n'ai pas réussi à trouver la ligne qui séparateur est utilisé là, mais j'imagine que c'est encoreEnvironment.NewLine
.