Buffer e array d bytes

ola pessoal,
estou tentando fzer um programinha q leia um array de bytes qlquer e encha um buffer de espaço x ate o limite deste buffer. por exemplo, tenhu um buffer de 30bytes e o array tem 18. entaum queria escrever esses 18 e vendo q ainda falta espaço no buffer, gostaria de botar mais 12 para entaum ter o buffer cheio!
estou com duvidas, pois estou começando agora e naum sako mto ainda!
vo enviar o codigo pra v c alguem ajuda!
vlw

public class BufferTeste3
{
private ByteBuffer buffer;

private void createBuffers()
{
buffer = ByteBuffer.allocate (30) ;
}

private void playWithBuffers()
{
//String bytes;
byte [] bytes;
byte [] output;

bytes = “oi como voce esta?”.getBytes();
output = new byte[bytes.length] ;
int ctrl = 0;

while( ctrl != bytes.length)
{
buffer.put(bytes, ctrl ,buffer.limit());
buffer.flip();
buffer.get(output, buffer.position() ,buffer.limit());
buffer.compact();
System.out.print(new String(output));
ctrl += buffer.limit();
}
}

public static void main(String args[])
{
BufferTeste3 bt = new BufferTeste3();
bt.createBuffers();
bt.playWithBuffers();
}
}

Use um ByteArrayOutputStream. Segue aqui

naum consegui!
=/

Crie tua classe de buffer:

import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class Buffer {
    private ByteArrayOutputStream baos = new ByteArrayOutputStream();

    public void write(final byte[] values) throws IOException {
        baos.write(values);
    }

    public byte[] read() {
        baos.toByteArray();
    }

}

Para usá-la:

public class Exec {
    public static void main(String[] args) throws Exception {
        Buffer buffer = new Buffer();
        buffer.write(new byte[]{1, 2, 3, 4, 5, 6});
        buffer.write(new byte[]{7, 8, 9});
        buffer.write(new byte[]{0});
        byte[] total = buffer.read();
        for (int i = 0; i< total.length; i++) {
            System.out.println(total[i]);
        }
    }
}

Ele devolve tudo que foi escrito no buffer. T+

eu ainda sou meio novato em java!
po…naum consegui rodar o prog naum!
tah dando uns erros malukos ai!
tem ideia?!

[]'ss e obrigado pela paciencia!!

kkkk

Fiz um update do exemplo. Salva cada um em um arquivo separado com o mesmo nome de cada classe. Não esquece de fazer os imports na classe de buffer. Daí é so executar pela classe Exec. T+