cs_vincnet68
Messages postés100Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention24 mai 2013
-
22 mai 2013 à 19:41
cs_vincnet68
Messages postés100Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention24 mai 2013
-
24 mai 2013 à 08:58
Bonjour,
Voilà mon problème, je souhaite enregistrer dans un fichier
[list]
[*] des données de manière manuelle (stream.WriteLine("Fichier=temp.tmp"))
[*] et des données issues de la sérialisation automatique d'une classe.(BinaryFormatter.Serialize(stream, classe))
/list
Le but est que lors de la déserialisation je lise le fichier :
[list]
[*] Lecture avec stream.ReadLine
[*] puis j'ouvre le fichier "temp.tmp"
[*] et ensuite je désérialize ma classe.
/list
cs_vincnet68
Messages postés100Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention24 mai 20131 24 mai 2013 à 08:58
Merci de ta réponse.
Après une autre analyse du problème j'ai vu que lors de la désérialisation binaire le pointeur passait automatiquement à l'octet 1024 (alors que le début est largement avant).
Voici la solution que j'ai trouvé :
Sérialisation
Code C# :
StreamWriter writer = new StreamWriter(file);
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 23 mai 2013 à 18:13
Salut,
Qu'as-tu déjà réalisé concernant ton problème ?
Car en théorie, tu peux le faire exactement comme tu le dis, puisque normalement la désérialisation se fait à partir du curseur dans ton fichier.
Cependant, mélanger du manuel et de l'automatique, je ne comprends pas bien l'intérêt.
Au pire, ce que tu peux faire, c'est créer un Tuple<string, classe> = new Tuple<string, classe>("temp.tmp", tonObjet);
et sérialiser le Tuple complet.
Krimog : while (!(succeed = try())) ; - Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -