Quelle est la meilleure façon de lire le contenu d’un fichier texte dans une chaîne dans .NET ?
-
09-06-2019 - |
Question
Il semble qu'il devrait y avoir quelque chose de plus court que ceci :
private string LoadFromFile(string path)
{
try
{
string fileContents;
using(StreamReader rdr = File.OpenText(path))
{
fileContents = rdr.ReadToEnd();
}
return fileContents;
}
catch
{
throw;
}
}
La solution
Tout d'abord, le titre demande "comment écrire le contenu de Strnig dans un fichier texte", mais votre exemple de code est pour "comment lire le contenu d'un fichier texte dans une chaîne.
Réponse aux deux questions :
using System.IO;
...
string filename = "C:/example.txt";
string content = File.ReadAllText(filename);
File.WriteAllText(filename, content);
Voir également ReadAllLines/WriteAllLines et ReadAllBytes/WriteAllBytes si au lieu d'une chaîne vous souhaitez un tableau de chaînes ou un tableau d'octets.
Autres conseils
string text = File.ReadAllText("c:\file1.txt");
File.WriteAllText("c:\file2.txt", text);
Consultez également ReadAllLines/WriteAllLines et ReadAllBytes/WriteAllBytes
Ce gestionnaire d'exceptions ne sert à rien.Cela ne fait rien.Ceci est juste une version abrégée de votre code, ça va :
private string LoadFromFile(string path)
{
using(StreamReader rdr = File.OpenText(path))
return rdr.ReadToEnd();
}
File.ReadAllText() peut-être ?
ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/fxref_mscorlib/html/4803f846-3d8a-de8a-18eb-32cfcd038f76.htm si l'aide de VS2008 est installée.