Sto avendo un bel problema qui, e penso che sia perché non capisco molto come dovrei usare l'API fornita da Java.come utilizzare ByteArrayOutputStream e DataOutputStream simultaneamente (Java)
devo scrivere una int
e byte[]
in un byte[]
ho pensato di utilizzare un DataOutputStream
per risolvere i dati di scrittura con writeInt(int i)
e write(byte[] b)
, e per poter mettere che in un array di byte, che dovrebbe utilizzare ByteArrayOutputStream
metodo toByteArray().
capisco che questo classi utilizzano il modello Wrapper, così ho avuto due opzioni:
DataOutputStream w = new DataOutputStream(new ByteArrayOutputStream());
o
ByteArrayOutputStream w = new ByteArrayOutputStream(new DataOutputStream());
ma in entrambi i casi, I "loose" un metodo. nel primo caso, non riesco ad accedere al metodo toByteArray()
e nel secondo non riesco ad accedere al metodo writeInt()
.
Come devo utilizzare questo corso insieme?
Mi sono sempre chiesto, c'è davvero ho motivo per irrigare un avvolto 'ByteArrayOutputStream'? – Justin
non c'è ma non si conosce mai il comportamento di un wrapper. Potrebbe effettivamente buffering qualcosa, quindi spengo il wrapper per abitudine :). Se si tratta di un involucro pass-thru non dovrebbe ferire. –
puoi dichiarare la variabile byteArray? e cosa effettivamente w.write (byteArray); fare? –