Estoy teniendo un gran problema aquí, y creo que es porque no entiendo mucho cómo debería usar la API proporcionada por Java.cómo usar ByteArrayOutputStream y DataOutputStream simultáneamente (Java)
tengo que escribir un int
y una byte[]
en un byte[]
pensé en usar un DataOutputStream
para resolver los datos de escritura con writeInt(int i)
y write(byte[] b)
, y ser capaz de poner esto en una matriz de bytes, lo que debería utilizar ByteArrayOutputStream
método toByteArray().
que entender que estas clases utilizan el patrón de la envoltura, así que tenía dos opciones:
DataOutputStream w = new DataOutputStream(new ByteArrayOutputStream());
o
ByteArrayOutputStream w = new ByteArrayOutputStream(new DataOutputStream());
pero en ambos casos, lo "suelto" un método. en el primer caso, no puedo acceder al método toByteArray()
, y en el segundo, no puedo acceder al método writeInt()
.
¿Cómo debo usar esta clase?
Siempre me he preguntado, ¿existe realmente me motivo para eliminar una envuelta 'ByteArrayOutputStream'? – Justin
no existe pero nunca se sabe el comportamiento de un contenedor. En realidad, podría almacenar algo en el buffer así que limpie la envoltura por hábito :). Si se trata de una envoltura directa, no debería doler. –
¿puedes declarar la variable byteArray? y qué es realmente w.write (byteArray); ¿hacer? –