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). |