C# Créer un fichier txt et enregistrer
Je suis en train de créer un fichier et enregistrer le texte, mais c'est seulement la création d'un fichier quelqu'un peut-il suggérer quel est le problème?
private void button2_Click(object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Text File|*.txt";
sfd.FileName = "Password";
sfd.Title = "Save Text File";
if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string path = sfd.FileName;
StreamWriter bw = new StreamWriter(File.Create(path));
bw.Write(randomstring);
bw.Dispose();
}
}
- Êtes-vous essayer de créer un fichier ou ajouter au fichier s'il existe déjà ?
- Ne
randomstring
contiennent du texte? Si c'estnull
, rien n'est écrit. - Habib, je et la création de nouveaux et de les remplacer axisting un.
- Grant, randomstring j'ai d'abord montrer l'étiquette.le texte puis j'ai essayer de l'enregistrer.
Vous devez vous connecter pour publier un commentaire.
Vous devez appeler
bw.Close()
avant d'appelerbw.Dispose()
. Par l'API: "Vous devez appeler Près pour s'assurer que toutes les données sont correctement enregistrées dans le flux sous-jacent." (http://msdn.microsoft.com/en-us/library/system.io.streamwriter.close(v=vs. 110).aspx)J'avais fait changer le code:
La
using
bloquer automatiquement les appelsDispose()
, si oui ou non tout se termine avec succès.Essayer de l'utiliser
Fichier.WriteAllText
au lieuDe vous écrire quelque chose, puis les disposer de l'objet entièrement. Essayez:
Par la documentation, vous devez appeler
bw.Close()
avant de vous en débarrasser. Aussi, vous devez utiliserà l'aide de
pour s'assurer que tous lesIDisposable
s sont éliminés de manière appropriée.Ou simplement l'utiliser
Fichier.WriteAllText
: