begin process at 2012 02 10 14:04:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Fichier / Disque

 > 

lire un fichier binaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

lire un fichier binaire

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ée 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 Ecrire et lire des objets dans un fichier binaire. [ par LA_Tupac ] Salut à tous! J'ai bien cherché mais pas trouvé de réponse dans ces forums. En C++ il est possible de sauvegarder l'instance d'une class en la castant Lire fichier txt [ par spootnic22 ] bonjour, Débuton en c# ;j'ai un fichier txt qui contient une ligne sous form de plusieurs lignes,et je sais pas comment parcourir toute la ligne en ré Selections de parties d'un très lourd fichier [ par babaOrhumette ] Bonjour, Le titres n'est certainement pas très explicite et je ne dois pas être dans la bonne section, je m'en excuse par avance. Voilà, j'ai un éno conversion hexa en binaire [ par amzerd ] bonjour je suis débutans en c# , je voulasi seulement savoir comment on fait une conversion de haxa2binn avec c# c'est trés urgent merciiiii !!!!!! Lecture de plusieurs ligne dans un fichier [ par Mike7773 ] Bonjour, je reprend la programmation après quelques temps d'abandon et comme je m'y attendais je ne me souviens de plus grand chose... J'essaye de f Lire dans un fichier d'une position A à une position B [ par Karibot ] Bonjour, j'ai un fichier et j'aimerai lire dedans une string. pour la string, je connais la position de début et la position de la fin de la chaine. c Conversion Hexadecimal to byte[ ] [ par Spawn3107 ] Bonjour tout le monde, j'ai un petit soucis concernant mon programme. Est-ce que quelqu'un sait comment je peut convertir le hexadecimal en un table


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,543 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales