Question

Je lis un fichier binaire dans un programme d'analyse.Je devrai parcourir le fichier et rechercher certains marqueurs afin de pouvoir diviser le fichier et transmettre ces parties aux constructeurs de leurs objets respectifs.

Y a-t-il un avantage à conserver le fichier sous forme de flux, soit MemoryStream ou FileStream, ou doit-il être converti en un tableau d'octets[] ?

Keith

Était-ce utile?

La solution

UN byte[] ou MemoryStream nécessiteront tous deux de mettre le fichier entier en mémoire.UN MemoryStream est en réalité un wrapper autour d'un tableau d'octets sous-jacent.La meilleure approche est d'en avoir deux FileStream (un pour l'entrée et un pour la sortie).Lire à partir du flux d'entrée à la recherche du modèle utilisé pour indiquer que le fichier doit être séparé lors de l'écriture dans le fichier de sortie actuel.

Vous souhaiterez peut-être envisager d'encapsuler les fichiers d'entrée et de sortie dans un BinaryReader et BinaryWriter respectivement s'ils ajoutent de la valeur à votre scénario.

Autres conseils

Un MemoryStream est essentiellement un tableau d'octets avec une interface de flux, par ex.lecture/écriture séquentielle et notion de position actuelle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top