C#/.NET 2.0.Détermination de la taille d'un fichier futur alors que les données sont encore en mémoire
J'ai donc une chaîne qui contient le contenu futur d'un fichier XML. Il contient des métadonnées et des données binaires provenant de fichiers image. Je voudrais en quelque sorte déterminer la taille du fichier XML une fois que j'écrirai les données de la chaîne dans le système de fichiers.
J'ai essayé ce qui suit et ni travaux:
Console.Out.WriteLine("Size: " + data.Length/1024 + "KB");
et
Console.Out.WriteLine("Size: " + (data.Length * sizeof(char))/1024 + "KB");
Ni œuvres (la taille réelle du fichier résultant dévie de ce qui est de retour de l'une de ces méthodes) . Il me manque évidemment quelque chose ici. Toute aide serait appréciée.
sérialisation XML:
// doc is an XMLDocument that I've built previously
StringWriter sw = new StringWriter();
doc.Save(sw);
string XMLAsString = sw.ToString();
écriture dans le fichier système (XMLAsString transmis à cette fonction de variables données nominatives):
Random rnd = new Random(DateTime.Now.Millisecond);
FileStream fs = File.Open(@"C:\testout" + rnd.Next(1000).ToString() + ".txt", FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(fs);
app.Diagnostics.Write("Size of XML: " + (data.Length * sizeof(char))/1024 + "KB");
sw.Write(data);
sw.Close();
fs.Close();
Merci
Comment faites-vous votre sérialisation xml? –
La première chose que je ferais est de diviser par 1024 au lieu de 1000. Cela devrait aider avec la taille de kb. – JFV
Comment écrivez-vous des données sur le système de fichiers? –