Sobes.tech
Middle

O que você sabe sobre a classe RandomAccessFile?

sobes.tech IA

Resposta da IA

RandomAccessFile fornece a capacidade de ler e escrever dados em qualquer lugar do ficheiro. Ao contrário dos fluxos, não é uma subclasse de InputStream ou OutputStream.

Principais características:

  • Posicionamento: Permite mover-se pelo ficheiro, definindo a posição atual através do método seek().
  • Modo de acesso: Abre-se com um modo de acesso determinado ("r", "rw", "rws", "rwd").
  • Leitura e escrita: Suporta leitura e escrita de tipos primitivos, strings e arrays de bytes.
  • Comprimento do ficheiro: Permite obter o comprimento atual do ficheiro (length()) e defini-lo (setLength()).

Exemplo de abertura de ficheiro para leitura e escrita:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.txt", "rw");
// ... trabalho adicional com o ficheiro
file.close();

Exemplo de deslocamento no ficheiro e leitura:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.bin", "r");
file.seek(100); // Deslocar para o byte 100
byte b = file.readByte(); // Ler um byte
file.close();

Exemplo de escrita no ficheiro:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_output.txt", "rw");
file.writeBytes("Hello, world!"); // Escrever uma string
file.close();

Modos de acesso:

Modo Descrição
"r" Abrir para leitura.
"rw" Abrir para leitura e escrita.
"rws" Abrir para leitura e escrita com atualização síncrona do conteúdo e metadados do ficheiro ao nível do sistema operativo.
"rwd" Abrir para leitura e escrita com atualização síncrona do conteúdo do ficheiro ao nível do sistema operativo (os metadados podem ser adiados).