Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : lire un fichier binaire [ Archives / Fichier / Disque ] (ultrafil)

jeudi 22 janvier 2004 à 21:40:23 | lire un fichier binaire

ultrafil

Salut, j'ai besoin de lire des données dans un fichier binaire.
Mon problème c'est que je n'arrive pas à faire de conversion en byte[]

Je m'explique, j'utilise FileStream.Read qui attend un byte[] en argument, le probleme c'est la conversion du byte[] en int ou en double, ou mieu encore en classe :(

J'ai tenté de convertir avec Convert avec System.Array apres avoir essayé les cast explicite mais rien a faire, si quelqu'un à une idée :) je suis preneur.

www.ultrafil.fr.st

vendredi 23 janvier 2004 à 06:20:06 | Re : lire un fichier binaire

vieuxLion

Salut,

le mieux est de Désérialiser par la même Api que lors de la sérialisation.
Cela évite de descendre au niveau des Bytes

encore faut il avoir la main sur la création du fichier binaire...


vendredi 23 janvier 2004 à 14:05:52 | Re : lire un fichier binaire

ultrafil

En fait j'ai besion de lire un fichier .bsp (map de quake3) car je crée un moteur 3D en opengl (C# / csgl).

Et donc je n'ai pas le choix :( je dois absolument convertir mon byte[] en int voir en class.

Personne n'a un bout de code qui permettrais de faire ca? :)
ultrafil.fr.st

vendredi 23 janvier 2004 à 14:46:04 | Re : lire un fichier binaire

vieuxLion

bon, alors il est toujours possible de lire le fichier par groupe de 4 octets et d'écrire une fonction de conversion en int
(sous réserve qu'il n'en existe pas dans la BCL)
br est le BinaryReader, tabInt un tableau de réception des ints

int i=0;
byte[] b = new byte[4];
while (br.Read(b,0,4)!=0)
{
tabInt[i++] = ToInt(b);
}

et maintenant, la grande fonction ToInt :
private int ToInt(byte[] b)
{
return b[0]+b[1]*256+b[2]*256*256+b[3]*256*256*256;
}



lundi 26 janvier 2004 à 15:18:54 | Re : lire un fichier binaire

ultrafil

Je te remercie pour ton aide, ta technique doit surement bien fonctionner mais néammoins j'ai trouver la class BitConverter qui permet de faire exactement ce que j'ai besion :D

plus d'info sur: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystembitconverterclassgetbytestopic.asp


En faite cette classe BitConverter prend un tableu de byte en en choisit 4 (ou 8 si double)
contigue et les convert en float , int etc...

merci encore ^^

@++ et bon coding

ultrafil.fr.st

lundi 26 janvier 2004 à 19:36:45 | Re : lire un fichier binaire

vieuxLion

c'est moi qui te remercie
je n'avais pas vu cette classe

on peut coder
byte[] b = new byte[4];
while (r.Read(b,0,4)!=0)
{
tabInt[i]=BitConverter.ToInt32(b,0);
}

l'intérêt est qu'il existe des conversions pour tous les types courants



Cette discussion est classé dans : fichier, binaire, lire, conversion, byte


Répondre à ce message

Sujets en rapport avec ce message

Je veux lire un nombre double dans fichier binaire [ par vtvdung ] Je veux lire un nombre 4 ou 8 bytes dans un FileStream. Comment peux je faire? J'utilise FileStream.Read(...) et le donnee est stocke' dans un array. [C# 2.0] Le Binaire [ par iow4 ] Bonjour, j'aimerais pouvoir lire entierement tout le code binaire d'un fichier exe et le reécrire dans un autre fichier ( le cloner ou le generer ) Se Lire flux XML [ par Pierrick34090 ] Salut,Voilà mon problème: (Langage C#) Je désire enregistrer un flux XML (du type blabla) dans ma base de données SQL Server. Ceci est très facile en Cryptage et problème de conversion de Byte[] [ par deve007 ] Bonjour , jai un  string que je doit obligatoirement convertir en tableau de Byte, cette conversion se passe mal voici l'exemple : jai Lire/recuperer MPEG header [ par boutnell ] Salut tout le monde.Je souhaiterai lire le header des fichier mpeg pour pouvoir par exemple recuperer des informations sur le fichier.Voici un lien tr Conversion de byte[] [ par nicolaslepot ] Bonjour les amis,en C#, il y a bien un objet qui permet de faire l'inversse de BitConverter... Mais j'arrive pas à le retrouver. byte[] bitEncoded = extraire les données d'un tableur [ par cudenetf ] bonjour j'aimerais savoir comment lire les données  a partir d'un fichier excel ou dbf (base de données foxpro)Je voudrais pouvoir lire le contenu du La taille du fichier bmp [ par vtvdung ] SalutQuand je lire header d'une image binaire, par example 512*512 pixel, je vois que le taille des tous les pixel sont egal a 2^15 bytes, c'est a dir Conversion Brush en string [ par hoodlum ] Bonjour a tous, Je suis entrain de creer un fichier xml de configuration pour un programme, et dans ce fichier j'aimerai mettre la conversion en strin Lire n'importe quel fichier XML et stocker les infos [ par romagny13 ] Bonjour je recherche des ressources pour savoir comment bien lire et stocker les informations des fichiers XMLbien sur je connais deja DOM,SAX (xmlrea


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.