17. juli 2007 - 17:07Der er
15 kommentarer og 1 løsning
Hashtable til byte[] og omvendt
Hej.
Jeg skal kommunikere en hashtable over noget netværk....
min kode ser sådan her ud
//Write the data String data="test"; OutputStream out = conn.getOutputStream(); out.write(data.getBytes()); out.close(); InputStream ins =conn.getInputStream();
Nu vil jeg gerne erstatte min String data med en Hashtable... er der en finurlig måde jeg kan konvertere den til en byte[]??
Hvis stoerrelsen af data ikke er et problem saa brug:
private static byte[] serialize(Object o) throws IOException { ByteArrayOutputStream ba = new ByteArrayOutputStream(1000); ObjectOutputStream oba = new ObjectOutputStream(ba); oba.writeObject(o); return ba.toByteArray(); }
private static Object deserialize(byte[] b) throws IOException, ClassNotFoundException { ByteArrayInputStream ba = new ByteArrayInputStream(b); ObjectInputStream oba = new ObjectInputStream(ba); return oba.readObject(); }
shit.... din løsning går fint på server siden med java api med metoden serialize.
however... min klient side (som skal bruge deserialize) har ikke ObjectInputStream i sit api (RIM). Har sq godt nok siddet og kogt over et alternativ dog uden held, kender du et alternativ? på forånd mange tak!!
serialieseringen var intet problem da dette gøres via standard jvm. på min server.
min klient (blackberry telefon) kører j2me/RIM libs og har begrænset api. og nej... jeg har ikke xmlencode/decode heller :-/
jeg skal overføre en database fra server til klient og havde tænkt mig at afspejle i en hashmap som beskrevet. Jeg er ikke sikker på den går grundet mit lille problem her....
private static Object deserialize(byte[] b) throws IOException, ClassNotFoundException { ByteArrayInputStream ba = new ByteArrayInputStream(b); ObjectInputStream oba = new ObjectInputStream(ba); return oba.readObject(); }
Men den går jo ikke da jeg manlger ObjectInputStream
ok...jeg takker rigtig mange gange for din hjælp! og er ved at koge noget rigtig grimt kode sammen... skal nok poste min løsning
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.