[Java lista] nem ertem....
Peter Verhas
peter at verhas.com
2010. Május. 5., Sze, 16:13:21 CEST
Javaslom a sokkal kényelmesebb
http://commons.apache.org/codec/apidocs/org/apache/commons/codec/binary/Base64.html
használatát.
Péter
2010/5/5 Laja <laja at freemail.hu>:
> Hi!
>
> Van egy érdekes problémám, amit nem értek. A kód:
>
> import sun.misc.BASE64Decoder;
> import sun.misc.BASE64Encoder;
> ...
>
> ByteArrayOutputStream os=new ByteArrayOutputStream();
> pdd.save(os); //mindegy mi ez, lényeg hogy adatokat ír bele.
> os.close();
> System.out.println("os="+os.toString()); //ez szépen kiírja az adatokat
> String retstr=Base64.encode(os.toByteArray()).toString();
> System.out.println("retstr=\""+retstr+"\""); //az eredmény:
> retstr="[C at 1855562"
>
>
> Azt hoiszem érthető. Van egy output stream, amibe adatokat írok. Ha ezt
> kiiratom, látszik hogy szépen benne bvan az adat. Azután Base64 kódolom,
> és az eredmény egy 10 karaktgeres string (több ezer bájtnyi adat van).
> Miért nem működik ez?
>
> Ha a kódot így módosítom:
>
> ByteArrayOutputStream os=new ByteArrayOutputStream();
> pdd.save(os); //mindegy mi ez, lényeg hogy adatokat ír bele.
> os.close();
> System.out.println("os="+os.toString()); //ez szépen kiírja az adatokat
> ByteArrayInputStream bis=new ByteArrayInputStream(os.toByteArray());
> String retstr=Base64.encodeStream(bis).toString();
> df.println("retstr=\""+retstr+"\"");
>
> Ebben az esetben rendben meglesz minden adat.
>
> A progiban mint látható, a sun féle Base64 kódolót használom.
>
> Laja
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
>
--
Verhás Péter
ügyvezető
Verhás & Verhás Szoftver Manufaktúra Kft.
peter at verhas.com
t: +36(30)9306805
skype: verhas
További információk a(z) Javalist levelezőlistáról