Buffer e array d bytes

5 respostas
_

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();

}

}

5 Respostas

I

Use um ByteArrayOutputStream. Segue aqui

_

naum consegui!
=/

I

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

I

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+

Criado 19 de dezembro de 2006
Ultima resposta 20 de dez. de 2006
Respostas 5
Participantes 2