Encoder un flux en direct - Java - Programmation
Marsh Posté le 07-01-2003 à 11:04:36
Bon, maintenant, je suis à peu près sur qu'il me faudra écrire une extention de FilterOutputStream.
Mais je n'vois toujours pas comment surcharger les méthodes d'écriture de FilterOutputStream, dans ma class BinhexOutputStream.
Pour info, voila mon algo actuel de traduction d'un flux binaire en flux hexa :
Code :
|
Ouais, donc ds mon cas, j'vais plutot utiliser un BinhexWriter, ms ça change pas trop mon pb...
Marsh Posté le 07-01-2003 à 15:51:20
ben euh tu met (+/-) le contenu de ta boucle while dans le write de ton BinhexStreamTruc, et cette classe utiliserait un membre "buffer", qqchose comme ça
euh c quoi le pb ?
Marsh Posté le 07-01-2003 à 16:06:53
--greg-- a écrit : ben euh tu met (+/-) le contenu de ta boucle while dans le write de ton BinhexStreamTruc, et cette classe utiliserait un membre "buffer", qqchose comme ça |
Et voila mon pb : je voudrais pouvoir encoder directement ce flux, de manière à ce que le flux de donnée, une fois que l'image à été convertie en jpg ou autre format, soit encodé en bin-hex (les donnée binaire sont converties en hexadécimal). Comment faire ça ? faut-il que j'écrive une classe de flux particulier du style BinhexOutputStream (dans la lignée des ZipOutputStream et compagnie) ? Je vois pas comment faire ça, aidez moi si vous plé !!!!
Marsh Posté le 07-01-2003 à 16:11:01
ben voui, comme tu l'as dit, tu crées un outputstream... (ou un writer) ... euh hahem...
Marsh Posté le 07-01-2003 à 16:14:12
HAAAAAAAAAAA !!!!!!!!!!!!! je pète les plombs avec ces Streams.
Merci Greg, en fait, je devrais y arriver a ça.
Mais il me reste un pb, tout bète (j'imagine) : à partir d'un Writer, comment obtenir un OutputStream, ou alors : comment écrire le contenu d'un OutputStream, dans une String (ou StringBuffer) ?
Marsh Posté le 07-01-2003 à 16:23:38
krosso a écrit : StringWriter ? |
ça je connais, mais ...et pour passer d'un Writer à un OutputStream ?
Marsh Posté le 07-01-2003 à 17:05:03
Résumé :
Je cheche à écrire dans une String ou StringBuffer, en passant par un OutputStream. à l'image de StringWriter, je voudrais un StringBufferOutputStream. Ou alors un moyen de passer d'obtenir un OutputStream à partir d'un Writer.
qqn à une idée !?
ha oui ? et laquelle donc ?
Marsh Posté le 07-01-2003 à 17:07:46
euh on ne passe pas d'un Writer à un Stream hein
(enfin si j'ai bien tout suivi)
Marsh Posté le 07-01-2003 à 17:10:17
Non, mais t'as pas pu tout suivre, g pas tout expliqué. Ms du coup, mon pb est ailleurs. Un pb assez complexe à expliquer (et ça serait pas bien utile j'pense) fait que j'aurais besoin d'obtenir une String à partir d'une OutputStream...
Marsh Posté le 07-01-2003 à 17:13:47
OutputStream est une classe abstraite hein !?
Le OutputStream en question, c'est en fait un OS que tu as écrit et qui hérite de la classe abstraite.
Qu'est-ce qui t'empêches dans ta classe d'avoir une méthode write(String chaine).
Tu récupères la chaine et t'en fais ce que tu veux après (Normalement, l'envoyer à la destination).
précision :
La méthode ça peut-être write(Machin truc)
et tu fais les transformations qui vont bien sur truc pour en faire un chaine.
C'est le principe des streams non ?
Marsh Posté le 07-01-2003 à 09:59:15
Bon, là, c un problème que je vois très mal comment résoudre.
Voila, j'utilise JAI (une lib Java pour bosser sur les images).
J'utilise donc JAI, pour générer une image au format nécessaire. Ensuite, je demande à JAI d'écrire directement cette image convertie dans un flux, de la manière suivante :
Et voila mon pb : je voudrais pouvoir encoder directement ce flux, de manière à ce que le flux de donnée, une fois que l'image à été convertie en jpg ou autre format, soit encodé en bin-hex (les donnée binaire sont converties en hexadécimal). Comment faire ça ? faut-il que j'écrive une classe de flux particulier du style BinhexOutputStream (dans la lignée des ZipOutputStream et compagnie) ? Je vois pas comment faire ça, aidez moi si vous plé !!!!
Message édité par El_gringo le 07-01-2003 à 10:05:29