Il existe de nombreuses façons de lire et d'écrire des fichiers ( fichiers texte , pas binaires) en C #.
J'ai juste besoin de quelque chose de facile et qui utilise le moins de code possible, car je vais beaucoup travailler avec des fichiers dans mon projet. Je n'ai besoin que de quelque chose, string
car tout ce dont j'ai besoin est de lire et d'écrire string
.
string.Write(filename)
. Pourquoi la solution Microsofts est-elle plus simple / meilleure que la mienne?"foo".Write(fileName)
vous pouvez facilement créer une extension pour le fairepublic static Write(this string value, string fileName) { File.WriteAllText(fileName, value);}
et l'utiliser dans vos projets.En plus de
File.ReadAllText
,File.ReadAllLines
etFile.WriteAllText
(et des aides similaires de laFile
classe) affichés dans une autre réponse, vous pouvez utiliserStreamWriter
/StreamReader
classes.Écrire un fichier texte:
Lecture d'un fichier texte:
Remarques:
readtext.Dispose()
place deusing
, mais il ne fermera pas le fichier / lecteur / écrivain en cas d'exceptionsusing
/Close
est une raison très courante de "pourquoi les données ne sont pas écrites dans un fichier".la source
using
vos flux comme indiqué dans d'autres réponses - stackoverflow.com/a/7571213/477420using System.IO;
d'utiliser StreamWriter et StreamReader .new StreamWriter("write.txt", true)
il créera un fichier si ce fichier n'existe pas, sinon il sera ajouté au fichier existant.la source
fs
à la fin?Simple, facile et élimine / nettoie également l'objet une fois que vous en avez terminé.
la source
La façon la plus simple de lire à partir d'un fichier et d'écrire dans un fichier:
la source
File.WriteAllText
pour écrire une partie?@AlexeiLevenkov m'a indiqué une autre "manière la plus simple", à savoir la méthode d'extension . Cela prend juste un peu de codage, puis fournit le moyen le plus simple de lire / écrire, et il offre la flexibilité de créer des variations selon vos besoins personnels. Voici un exemple complet:
Cela définit la méthode d'extension sur le
string
type. Notez que la seule chose qui compte vraiment est l'argument de fonction avec un motthis
- clé supplémentaire , qui le fait se référer à l'objet auquel la méthode est attachée. Le nom de classe n'a pas d'importance; la classe et la méthode doivent être déclaréesstatic
.Voici comment utiliser le
string extension method
, notez qu'il se réfère automatiquement àclass Strings
:Je ne l'aurais jamais trouvé moi-même, mais cela fonctionne très bien, donc je voulais partager cela. S'amuser!
la source
Voici les méthodes les meilleures et les plus couramment utilisées pour écrire et lire des fichiers:
L'ancienne méthode, qui m'a été enseignée au collège, consistait à utiliser le lecteur de flux / l'écrivain de flux, mais le fichier méthodes d'E / S sur sont moins maladroites et nécessitent moins de lignes de code. Vous pouvez taper "Fichier". dans votre IDE (assurez-vous d'inclure l'instruction d'importation System.IO) et consultez toutes les méthodes disponibles. Vous trouverez ci-dessous des exemples de méthodes de lecture / écriture de chaînes vers / depuis des fichiers texte (.txt.) À l'aide d'une application Windows Forms.
Ajoutez du texte à un fichier existant:
Obtenez le nom de fichier de l'utilisateur via l'explorateur de fichiers / boîte de dialogue d'ouverture de fichier (vous en aurez besoin pour sélectionner les fichiers existants).
Obtenez du texte à partir d'un fichier existant:
la source
Ou, si vous êtes vraiment sur les lignes:
System.IO.File contient également une méthode statique WriteAllLines , vous pouvez donc faire:
la source
Il est bon lors de la lecture d'utiliser le contrôle OpenFileDialog pour rechercher n'importe quel fichier que vous souhaitez lire. Trouvez le code ci-dessous:
N'oubliez pas d'ajouter la
using
déclaration suivante pour lire les fichiers:using System.IO;
Pour écrire des fichiers, vous pouvez utiliser la méthode
File.WriteAllText
.la source
la source
Vous cherchez les
File
,StreamWriter
et lesStreamReader
classes.la source
la source