Lire X byte d'un fichier binaire ??

lykim1982 Messages postés 19 Date d'inscription vendredi 17 décembre 2004 Statut Membre Dernière intervention 10 juillet 2006 - 12 mai 2006 à 14:24
cs_cila Messages postés 9 Date d'inscription lundi 21 mai 2012 Statut Membre Dernière intervention 16 septembre 2012 - 29 mai 2012 à 14:40
salut tlm,

j'ai besoin de lire un fichier à n bytes.

j'ai un morceau de code pour lire ligne pas ligne mais j'ai arrive pour
lire par X bytes ( octet)



url = new URL(getCodeBase(), source);

urlConnexion = url.openConnection();

entree = urlConnexion.getInputStream();


fluxEntree = new BufferedReader(new InputStreamReader(entree));

ligne = fluxEntree.readLine();



j'ai vu qu'il y a une fonction pour lire par octet, mais je comprens pas le fonctionnement:

ligne = fluxEntree.read(byte []); ou qlq chose comme ca.



au finale, j'aimerai lit 256octet puis 4, puis 8 puis 2 puis 4 etc... de octet dans un fichier



merci d'avance.

9 réponses

scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
12 mai 2006 à 14:57
Salut
Pourquoi utilises-tu un BufferedReader (qui sert à lire des caractères) pour lire un fichier binaire ???
Je crois que tu devrais simplement utiliser la méthode read(byte[] b, int off, int len) de InputStream qui store len bytes et les stockes dans b à partir de la position off.

Voila
A++
0
lykim1982 Messages postés 19 Date d'inscription vendredi 17 décembre 2004 Statut Membre Dernière intervention 10 juillet 2006
12 mai 2006 à 15:10
j'ai essaié mais j'arrive pas bien à le utiliser.

char [] buffer;

read(buffer,0,8); // lire 8 octets



ca me donne erreu InputStream.read(unknow Source)
0
scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
12 mai 2006 à 15:19
Ca doit etre tu tableau de bytes :

byte[] buffer = new byte[256];
read(buffer,0,8);
0
lykim1982 Messages postés 19 Date d'inscription vendredi 17 décembre 2004 Statut Membre Dernière intervention 10 juillet 2006
12 mai 2006 à 15:45
non deja essayer, ca me souligen read en rouge.

read(buffer); ca marche pas non plus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
12 mai 2006 à 16:32
Utilise DataInputStream(entree) et sa méthode read
0
lykim1982 Messages postés 19 Date d'inscription vendredi 17 décembre 2004 Statut Membre Dernière intervention 10 juillet 2006
12 mai 2006 à 16:37
mon fichier est sur un serveur à distance, avec DataInputStream c'est pour les fichier local.

non?
0
scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
12 mai 2006 à 16:43
Je crois que cela marche puisque tu récupère l'InputStream de ta connection à l'URL et DataInputStream demande un InputStream dans son constructeur, donc si tu lui passe ce stream il ne devrait pas y avoir de problème
0
meryam88 Messages postés 2 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 8 mai 2010
7 mai 2010 à 03:17
[^^happy3]
0
cs_cila Messages postés 9 Date d'inscription lundi 21 mai 2012 Statut Membre Dernière intervention 16 septembre 2012
29 mai 2012 à 14:40
salut, j'ai un problème je dois stocker des données (des tables) dans des fichiers binaires.je ne sais pas comment pouvez vous m'aider ? je connais presque
rien sur les fichiers binaires, le programme doit être écris en java. merci d'avance
0
Rejoignez-nous