Você está aqui: Java ::: Dicas & Truques ::: Entrada e Saída em Arquivos (File Input/Output - IO) |
Entendendo e aprendendo a usar a classe RandomAccessFileQuantidade de visualizações: 12779 vezes |
|
A classe RandomAccessFile fornece uma forma muito conveniente de ler ou modificar o conteúdo de um arquivo. O que diferencia esta classe de outras classes de leitura e escrita do Java é que a classe RandomAccessFile permite o acesso à posições aleatórias de um arquivo. Desta forma, um cursor de arquivo ou ponteiro nos permite navegar pelo conteúdo do arquivo e atingir as posições a serem lidas ou modificadas. Veja sua posição na hierarquia de classes Java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- java.lang.Object java.io.RandomAccessFile Esta classe implementa ainda as interfaces Closeable, DataInput e DataOutput. Objetos da classe RandomAccessFile são vistos como uma grande matriz de bytes. Operações de leitura começam a ler a partir da posição zero do arquivo e avançam o ponteiro de arquivo à medida que novos bytes são lidos. Operações de escrita funcionam da mesma forma. Veja um trecho de código no qual temos um RandomAccessFile representando um arquivo texto. Note que o RandomAccessFile é criado em modo de leitura neste exemplo: ----------------------------------------------------------------------
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 somente leitura
try{
RandomAccessFile arquivo =
new RandomAccessFile("C:\\java\\conteudo.txt", "r");
// array que guardará o conteúdo lido
byte[] conteudo = new byte[10];
System.out.println("A posição do cursor é: " +
arquivo.getFilePointer());
// vamos ler 10 bytes do arquivo
int res = arquivo.read(conteudo, 0, conteudo.length);
// vamos exibir os bytes lidos
for(int i = 0; i < conteudo.length; i++){
System.out.println((char)conteudo[i]);
}
System.out.println("A posição do cursor é: " +
arquivo.getFilePointer());
// fecha o arquivo
arquivo.close();
}
catch(FileNotFoundException fnfe){
System.out.println(fnfe.getMessage());
}
catch(IOException ioe){
System.out.println(ioe.getMessage());
}
System.exit(0);
}
}
Neste exemplo nós lemos 10 bytes do arquivo. Veja como o cursor de leitura é avançado a cada byte lido. |
|
|
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 |






