63 votes

Quel est le moyen le plus efficace de sauvegarder un tableau d'octets sous forme de fichier sur disque en C #?

Scénario assez simple. J'ai un service Web qui reçoit un tableau d'octets qui doit être enregistré sous un type de fichier particulier sur le disque. Quel est le moyen le plus efficace de le faire en C #?

116voto

Maurice Points 22343

Ce serait File.WriteAllBytes() .

40voto

Khoth Points 7001

System.IO.File.WriteAllBytes(path, data) devrait faire l'affaire.

11voto

Chris S Points 32376

Et WriteAllBytes effectue juste

 using (FileStream stream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.Read))
{
    stream.Write(bytes, 0, bytes.Length);
}
 

BinaryWriter a un nom trompeur, il est destiné à l'écriture de primitives sous forme de représentation d'octet au lieu d'écrire des données binaires. Toute sa méthode Write (byte []) exécute Write () sur le flux qu'il utilise, dans ce cas un FileStream.

6voto

Adam Wright Points 31715

Vous ne savez pas ce que vous entendez par "efficace" dans ce contexte, mais j'utiliserais System.IO.File.WriteAllBytes (chemin de la chaîne, octet [] octets) - Certainement efficace en termes de LOC.

3voto

Guerry Points 662

Peut-être le Système.IO.BinaryWriter et BinaryReader classes de l'aide.

http://msdn.microsoft.com/en-us/library/system.io.binarywriter.aspx

"Écritures de types primitifs en binaire à un flux de données et prend en charge l'écriture de chaînes dans un codage spécifique."

http://msdn.microsoft.com/en-us/library/system.io.binaryreader.aspx

"Lit les types de données primitifs comme des valeurs binaires dans un codage spécifique."

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X