Você está aqui: Java ::: Dicas & Truques ::: Entrada e Saída em Arquivos (File Input/Output - IO) |
Lendo bytes individualmente de um arquivo usando a classe RandomAccessFileQuantidade de visualizações: 8335 vezes |
|
Em algumas situações precisamos ler os bytes de um arquivo um de cada vez, ou seja, individualmente. Para isso nós temos os métodos read() e readByte() da classe RandomAccessFile. O método read() retorna um inteiro na faixa de 0 a 255 (0x00-0x0ff). O método readByte(), por sua vez, lê um valor de 8 bits com sinal e o retorna com um byte. Veja um trecho de código no qual lemos um byte de cada vez de um arquivo. Note que o ponteiro de arquivo é avançado um byte a cada leitura: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
import java.io.*;
public class Estudos{
public static void main(String[] args){
// uma instância de RandomAccessFile para leitura e escrita
try{
RandomAccessFile arquivo =
new RandomAccessFile("C:\\java\\conteudo.txt", "r");
// vamos ler o primeiro byte do arquivo usando o método
// read()
int lido = arquivo.read();
System.out.println("O byte lido foi: " + lido +
" que corresponde ao caractere " + (char)lido);
// vamos ler o segundo byte do arquivo usando o método
// readByte()
byte lido2 = arquivo.readByte();
System.out.println("O byte lido foi: " + lido2 +
" que corresponde ao caractere " + (char)lido2);
arquivo.close();
}
catch(FileNotFoundException fnfe){
System.out.println(fnfe.getMessage());
}
catch(IOException ioe){
System.out.println(ioe.getMessage());
}
System.exit(0);
}
}
Veja agora como podemos usar os métodos read() ou readByte() para ler todo o conteúdo do arquivo um byte de cada vez. Note que neste exemplo eu converto os bytes em caracteres para exibí-los na tela: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
import java.io.*;
public class Estudos{
public static void main(String[] args){
// uma instância de RandomAccessFile para leitura e escrita
try{
RandomAccessFile arquivo =
new RandomAccessFile("C:\\java\\conteudo.txt", "r");
// vamos ler todo o conteúdo do arquivo um byte de
// cada vez
// obtemos o tamanho do arquivo
long tamanho = arquivo.length();
byte lido; // byte que será lido
for(int i = 0; i < tamanho; i++){
lido = arquivo.readByte();
// vamos exibir o byte lido como um caractere
System.out.print((char)lido);
}
arquivo.close();
}
catch(FileNotFoundException fnfe){
System.out.println(fnfe.getMessage());
}
catch(IOException ioe){
System.out.println(ioe.getMessage());
}
System.exit(0);
}
}
|
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






