Créer un .txt fichier si le fichier n'existe pas, et si c'est ajouter une nouvelle ligne
Je voudrais créer un .fichier txt et écrire, et si le fichier existe déjà, je tiens juste à ajouter quelques lignes de plus:
string path = @"E:\AppServ\Example.txt";
if (!File.Exists(path))
{
File.Create(path);
TextWriter tw = new StreamWriter(path);
tw.WriteLine("The very first line!");
tw.Close();
}
else if (File.Exists(path))
{
TextWriter tw = new StreamWriter(path);
tw.WriteLine("The next line!");
tw.Close();
}
Mais la première ligne semble toujours être écrasé... comment puis-je éviter d'écrire sur la même ligne (je suis en utilisant ce dans une boucle)?
Je sais que c'est une chose très simple, mais je n'ai jamais utilisé le WriteLine
méthode avant de. Je suis totalement novice en C#.
Vous devez vous connecter pour publier un commentaire.
Utiliser le corriger constructeur:
Voir aussi Fichier.AppendAllText(). AppendAllLines va ajouter une nouvelle ligne pour chaque ligne, sans avoir à le mettre là-même.
Les deux méthodes allons créer le fichier s'il n'existe pas de sorte que vous n'avez pas à.
Close()
à partir d'unusing
instruction, comme toutes les ressources seront fermés avant d'être éliminés automatiquement.Vous n'avez pas à vérifier si le fichier existe, comme StreamWriter le fera pour vous. Si vous l'ouvrez dans ajouter-mode, le fichier sera créé s'il n'existe pas, alors vous pourrez toujours ajouter et de ne jamais écrire. Alors ta première case est redondant.
Fichier.AppendAllText ajoute une chaîne de caractères dans un fichier. Il crée également un fichier texte si le fichier n'existe pas. Si vous n'avez pas besoin de lire le contenu, il est très efficace. Le cas d'utilisation est l'exploitation forestière.
Vous voulez juste pour ouvrir le fichier dans "annexer" de mode.
http://msdn.microsoft.com/en-us/library/3zc0w663.aspx
Lorsque vous démarrez StreamWriter c'est de remplacer le texte était là avant. Vous pouvez ajouter utiliser la propriété comme suit:
Vous pouvez utiliser un FileStream. Cela ne fait tout le travail pour vous.
http://www.csharp-examples.net/filestream-open-file/
À partir de la documentation de microsoft, vous pouvez créer le fichier s'il n'existe pas et y ajouter en un seul appel
Fichier.AppendAllText Méthode (String, String)
.NET Framework (version actuelle) d'Autres Versions
Ouvre un fichier, ajoute la chaîne spécifiée dans le fichier, puis ferme le fichier. Si le fichier n'existe pas, cette méthode crée un fichier, écrit la chaîne de caractères spécifiée dans le fichier, puis ferme le fichier.
Espace De Noms: System.IO
Assembly: mscorlib (dans mscorlib.dll)
Syntaxe
C#C++F#, VB
public static void AppendAllText(
chemin de la chaîne,
contenu de chaîne
)
Paramètres
chemin
Type: System.Chaîne
Le fichier à ajouter à la chaîne spécifiée pour.
contenu
Type: System.Chaîne
La chaîne à ajouter au fichier.
AppendAllText
De l'essayer.
File.AppendText(path)
, et, avec elle, pas besoin de vérifier pourFile.Exists(path)
. EtIf (not A) Else If (A)
est bizarre Si/d'Autre. Fondamentalement, il n'ya pas de bonne chose dans cette question, aucune explication sur le code qui est devenus inutiles version de réponse.