Ler bytesd de um arquivo

3 respostas
fsjr

Galera tenho um InputStream ai o que eu quero.

Exemplo: Tenho um arquivo qualquer, ai pego o tamanho em bytes dele com:

tamanhoArquivo = fin.getChannel().size();

fin é um FileInputStream até ai acho que esta correto, é tamanho em bytes que ele retorna ne ?

No meu caso ele retorn 174

Quero ler esse arquivo por exemplo, só do byte 50 ao 174 entende.

tentei assim:

byte[] bytes = new byte[200];
in.read(bytes,50,174);
outFile.write(bytes);

mas dá pau, bom o que posso fazer é ficar lendo ele em um for, mas deve ter outro jeito.

Bom aguardo respostas, valeu pessoal
Abraços

3 Respostas

T

Use “skip”

fsjr

Entendo, pelo que li skip(49) por exemplo me retornaria apenas do 50 até o 174, mas e se eu quiser ler do 0 ao 50 ?

abraços valeu a resposta

T

Se você precisa “andar” sobre o arquivo (ou seja, ir para qualquer posição dele), use RandomAccessFile.

Criado 25 de outubro de 2006
Ultima resposta 25 de out. de 2006
Respostas 3
Participantes 2