Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
586 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Lire les 128 derniers octets d'un fichier [Débutant]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lire les 128 derniers octets d'un fichier [Débutant]

n°359323
Bizzy Dee
Posté le 11-04-2003 à 22:30:22  profilanswer
 

Bonjour,
Je me heurtes en ce moment même à un problème qui paraîtra probablement simple aux pro du java mais pour moi c'est un assez gros problème.
voila, je voudrais tout simplement afficher les 128 derniers bytes d'un fichier MP3 afin de récupérer le tag ID3.... Mais tous mes essais se sont soldés par un échéc.
Donc si une âme charitable avait la bonté de m'aider je lui serais très reconnaissant.
Merci.


Message édité par Bizzy Dee le 12-04-2003 à 11:09:25
mood
Publicité
Posté le 11-04-2003 à 22:30:22  profilanswer
 

n°359364
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 11-04-2003 à 23:37:55  profilanswer
 

Merci de modifier la sous-cat pour Java STP !
 
Sinon, je te donne un bout de code que j'avais fait, et qui exporte les tag ID3 v1 vers un fichier CSV. C'est du C++, mais bon, ça pourra t'aider quand même.
 

Code :
  1. void CId3V2::ReadID3V1(void)
  2. {
  3. ligne.FileName = FileName->GetBuffer();
  4. CFile mp3(FileName->GetBuffer(), CFile::modeRead);
  5. FileName->ReleaseBuffer();
  6. ligne.size = mp3.GetLength();
  7. ULONGLONG size;
  8. UINT bytesread;
  9. TCHAR talb[31]={0}; // album
  10. TCHAR tpe1[31]={0}; // artiste
  11. TCHAR tit2[31]={0}; // titre
  12. unsigned char buffer;
  13. int i;
  14. size=mp3.GetLength();
  15. // lecture et stockage du genre
  16. mp3.Seek(size-1,CFile::begin);
  17. bytesread = mp3.Read(&buffer,1);
  18. for (i=0; i<=NUM_GENRE; i++) {
  19.  if (buffer == i) {
  20.   ligne.Style = (TCHAR *)sGenres[i];
  21.  }
  22. }
  23. // lecture et stockage de l'album
  24. mp3.Seek(size-65,CFile::begin);
  25. bytesread = mp3.Read(talb,30);
  26. talb[30]='\0';
  27. ligne.Album = talb;
  28. // lecture et stockage de l'artiste
  29. mp3.Seek(size-95,CFile::begin);
  30. bytesread = mp3.Read(tpe1,30);
  31. tpe1[30] = '\0';
  32. ligne.Artiste = tpe1;
  33. // lecture et stockage du titre
  34. mp3.Seek(size-125,CFile::begin);
  35. bytesread = mp3.Read(tit2,30);
  36. tit2[30] = '\0';
  37. ligne.Titre = tit2;
  38. // écriture du fichier CSV
  39. WriteCSV(ligne);
  40. mp3.Close();
  41. }


Message édité par Harkonnen le 11-04-2003 à 23:39:45

---------------
J'ai un string dans l'array (Paris Hilton)
n°359369
Bizzy Dee
Posté le 11-04-2003 à 23:50:05  profilanswer
 

Merci pour ton code C++ mais en fait ca ne m'aide pas énormément.
Sinon il me semble que mon thread est dans la bonne sous catégorie....

n°359372
antp
Super Administrateur
Champion des excuses bidons
Posté le 11-04-2003 à 23:52:22  profilanswer
 

Bizzy Dee a écrit :


Sinon il me semble que mon thread est dans la bonne sous catégorie....


 
en effet mais comme ton tire commence par un "[" le nom de la sous-cat n'apparaît pas dans la liste des topics ;)
 
Je peux te donner le code en Delphi si tu veux, mais ça t'aidera pas plus que le code C++ j'imagine :D


Message édité par antp le 11-04-2003 à 23:52:56

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°359376
Bizzy Dee
Posté le 12-04-2003 à 00:00:30  profilanswer
 

Dsl pour le "[" alors....
Merci pour la proposition du code Delphi mais comme tu le dis je ne pense aps que ca m'aide énormément...  :sweat:

n°359378
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-04-2003 à 00:02:12  profilanswer
 

Bizzy Dee a écrit :

Dsl pour le "[" alors....
Merci pour la proposition du code Delphi mais comme tu le dis je ne pense aps que ca m'aide énormément...  :sweat:  


Que ce soit en C++ ou en Delphi, t'auras au moins l'algo ! Et le C++ n'est pas si éloigné de Java [:sinclaire]


---------------
J'ai un string dans l'array (Paris Hilton)
n°359407
Bizzy Dee
Posté le 12-04-2003 à 00:31:42  profilanswer
 

C'est pas l'algo qui me gène.... c'est l'utilisation des FileInputStream qui me gène.... Je n'arrive pas à lire uniquement les 128 derniers bytes du mp3.....Pour l'instant je lis le fichier en intégralité et après c galère pour manipuler les bytes....

n°359539
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 12-04-2003 à 17:25:58  profilanswer
 

Bin t'as aussi l'API JD3Lib : http://sourceforge.net/projects/jd3lib/
Si tu veux vraiment te le taper à la main, plutôt qu'un FileInputStream, utilise la classe RandomAccessFile qui te permet de faire un seek() assez facilement pour te positionner rapidement dans ton fichier et récupérer les octets qui t'intéressent.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°361172
darklord
You're welcome
Posté le 15-04-2003 à 09:17:35  profilanswer
 

Taiche a écrit :

Bin t'as aussi l'API JD3Lib : http://sourceforge.net/projects/jd3lib/
Si tu veux vraiment te le taper à la main, plutôt qu'un FileInputStream, utilise la classe RandomAccessFile qui te permet de faire un seek() assez facilement pour te positionner rapidement dans ton fichier et récupérer les octets qui t'intéressent.


 
[:prosterne]


---------------
Just because you feel good does not make you right
n°361284
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 15-04-2003 à 10:27:25  profilanswer
 


 :sol:  
Sérieusement, pourquoi ? :??: Tu la trouves bien, l'API ? [:ddr555]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
mood
Publicité
Posté le 15-04-2003 à 10:27:25  profilanswer
 

n°361308
darklord
You're welcome
Posté le 15-04-2003 à 10:37:54  profilanswer
 

Taiche a écrit :


 :sol:  
Sérieusement, pourquoi ? :??: Tu la trouves bien, l'API ? [:ddr555]  


 
non, non réponse pertinente comme toujours ;)


---------------
Just because you feel good does not make you right
n°361313
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 15-04-2003 à 10:39:06  profilanswer
 

DarkLord a écrit :


non, non réponse pertinente comme toujours ;)


Merci :o
(T'as loupé les fois où j'étais pas pertinent, alors [:joce])


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°361318
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-04-2003 à 10:40:11  profilanswer
 

Bon, quand vous aurez fini vos congratulations mutuelles, on pourra peut être continuer ce topic ! :o


---------------
J'ai un string dans l'array (Paris Hilton)
n°361327
darklord
You're welcome
Posté le 15-04-2003 à 10:42:26  profilanswer
 

Harkonnen a écrit :

Bon, quand vous aurez fini vos congratulations mutuelles, on pourra peut être continuer ce topic ! :o


 
ta gueule :o


---------------
Just because you feel good does not make you right
n°361343
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 15-04-2003 à 10:46:02  profilanswer
 


+1 :o
Surtout que le topic est ma foi en passe d'être clos, vu que mon excellente et magnifique réponse a l'air parfaitement adaptée au problème initial :sol:
Et pis j'donne une solution en Java, MOI :whistle:


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°361365
darklord
You're welcome
Posté le 15-04-2003 à 10:55:37  profilanswer
 

Taiche a écrit :


+1 :o
Surtout que le topic est ma foi en passe d'être clos, vu que mon excellente et magnifique réponse a l'air parfaitement adaptée au problème initial :sol:
Et pis j'donne une solution en Java, MOI :whistle:  


 
j'ai rien à ajouter :o
 
[:prosterne]
 


---------------
Just because you feel good does not make you right
n°361447
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-04-2003 à 11:29:14  profilanswer
 

Taiche a écrit :

Et pis j'donne une solution en Java, MOI :whistle:  


:kaola:
super comme langage, Java, ou une opération aussi simple que celle ci nécessite l'emploi d'une lib externe :/
 
[:neowen]


Message édité par Harkonnen le 15-04-2003 à 11:30:10

---------------
J'ai un string dans l'array (Paris Hilton)
n°361460
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 15-04-2003 à 11:35:28  profilanswer
 

Harkonnen a écrit :


:kaola:
super comme langage, Java, ou une opération aussi simple que celle ci nécessite l'emploi d'une lib externe :/


 :heink: RandomAccessFile c'est du java.io hein, faut pas une API spéciale.
Par contre, pour tout ce qui est gestion de tags ID3 et de headers MPEG, bin franchement, je recommande l'utilisation de JD3Lib plutôt que de se casser le cul à le refaire. Sauf besoin très spécifiques, et encore.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°361466
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-04-2003 à 11:39:16  profilanswer
 

Taiche a écrit :


 :heink: RandomAccessFile c'est du java.io hein, faut pas une API spéciale.


de toute façon, on peut pas insérer d'assembleur en Java
 
[:dehors]


---------------
J'ai un string dans l'array (Paris Hilton)
n°361489
darklord
You're welcome
Posté le 15-04-2003 à 11:47:23  profilanswer
 

Harkonnen a écrit :


de toute façon, on peut pas insérer d'assembleur en Java
 
[:dehors]


 
 :pfff:


---------------
Just because you feel good does not make you right
n°361529
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-04-2003 à 12:08:35  profilanswer
 

tiens, tu peux pas aller voir backdafuckup sur blabla ? il croit qu'on peut pas se blairer parce que tu dis sans cesse "ta gueule" [:ddr555]


---------------
J'ai un string dans l'array (Paris Hilton)
n°361534
darklord
You're welcome
Posté le 15-04-2003 à 12:10:39  profilanswer
 

Harkonnen a écrit :

tiens, tu peux pas aller voir backdafuckup sur blabla ? il croit qu'on peut pas se blairer parce que tu dis sans cesse "ta gueule" [:ddr555]


 
 :lol:  :hello:  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mais on peut pas se blairer :D


---------------
Just because you feel good does not make you right
n°361537
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-04-2003 à 12:11:55  profilanswer
 

DarkLord a écrit :

mais on peut pas se blairer :D


tout à fait ! d'ailleurs, t'as pas eu ta fessée today !
[:lorill]


---------------
J'ai un string dans l'array (Paris Hilton)
n°361540
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 15-04-2003 à 12:13:25  profilanswer
 

Harkonnen a écrit :


tout à fait ! d'ailleurs, t'as pas eu ta fessée today !


 :ouch: C'est Mya Frykonnen  ! [:vomi2]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°361543
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-04-2003 à 12:18:07  profilanswer
 

Taiche a écrit :


 :ouch: C'est Mya Frykonnen  ! [:vomi2]

non non, j'ai un QI de plus de 50 :non:


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Lire les 128 derniers octets d'un fichier [Débutant]

 

Sujets relatifs
Recherche d'un fichier parmis plein d'autres : perfs catastrophiques[C] récupérer un entier sur 2 octets dans un fichier [résolu]
trouver le type de fichier avant l'envoi d'un uploadlire les fichiers de soul calibur2
Comment copier un fichier indefiniment sur une même partition ?[php ou perl] petite bd dans 1 fichier
ecriture reecriture fichier en mode binairelire dans la base de registre !
chemin vers perl automatique pour fichier exécutable 
Plus de sujets relatifs à : Lire les 128 derniers octets d'un fichier [Débutant]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR