J'ai ce fichier texte qui contient différents champs. Certains champs peuvent contenir des données binaires. J'ai besoin d'obtenir toutes les données dans le fichier mais en ce moment en utilisant StreamReader alors il ne lira pas le bloc de données binaires et les données qui viennent après cela. Quelle serait la meilleure solution pour résoudre ce problème?StreamReader et les données binaires
Exemple:
field1|field2|some binary data here|field3
droit i maintenant lu dans le fichier comme ceci:
public static string _fileToBuffer(string Filename)
{
if (!File.Exists(Filename)) throw new ArgumentNullException(Filename, "Template file does not exist");
StreamReader reader = new StreamReader(Filename, Encoding.Default, true);
string fileBuffer = reader.ReadToEnd();
reader.Close();
return fileBuffer;
}
EDIT: Je connais les positions de début et de fin des champs binaires.
Je n'ai aucun contrôle sur la source de données donc j'ai juste à faire avec ça .. – hs2d
@ hs2d: Alors qu'est-ce qui se passe * si les données binaires incluent la représentation ASCII (ou quel que soit le codage utilisé) pour '|'? Y a-t-il quelque chose dans les deux premiers champs qui vous indique la longueur attendue? –
il n'y a rien qui me dit la longueur attendue. Regardez mon autre question. Im en utilisant le modèle pour obtenir les séparateurs de champ ce qui marque la fin d'un champ: [link] (http://stackoverflow.com/questions/6479505/c-template-parsing-and-matching-with-text-file) – hs2d