🔧 AI Nachrichten Major AI platforms go down in unprecedented simultaneous outage(03.09.2026 um 17:34 Uhr)
🔧 AI Nachrichten ChatGPT, Claude, and Grok Down? Users Report Widespread Outages(03.09.2026 um 19:14 Uhr)
🔧 AI Nachrichten OpenAI Launches GPT-6 Astra, Says We May Have Entered the AGI Era(03.09.2026 um 22:08 Uhr)
🔧 AI Nachrichten Claude Comes to CarPlay as Fifth Major AI Chatbot App(05.09.2026 um 05:31 Uhr)
🔧 AI Nachrichten OpenAI’s GPT-6 Astra Is AGI, Says NVIDIA CEO Jensen Huang(07.09.2026 um 06:31 Uhr)
🔧 AI Nachrichten Blame AI companies for Mac mini and Mac Studio shortage(31.08.2026 um 10:32 Uhr)
🔧 AI Nachrichten Major AI platforms go down in unprecedented simultaneous outage(03.09.2026 um 17:34 Uhr)
🔧 AI Nachrichten ChatGPT, Claude, and Grok Down? Users Report Widespread Outages(03.09.2026 um 19:14 Uhr)
🔧 AI Nachrichten OpenAI Launches GPT-6 Astra, Says We May Have Entered the AGI Era(03.09.2026 um 22:08 Uhr)
🔧 AI Nachrichten Claude Comes to CarPlay as Fifth Major AI Chatbot App(05.09.2026 um 05:31 Uhr)
🔧 AI Nachrichten OpenAI’s GPT-6 Astra Is AGI, Says NVIDIA CEO Jensen Huang(07.09.2026 um 06:31 Uhr)
🔧 AI Nachrichten Blame AI companies for Mac mini and Mac Studio shortage(31.08.2026 um 10:32 Uhr)

🔧 Programmierung 🕛 kürzlich 3 Min Lesezeit
0

Arquivos de acesso aleatório

↗ Quelle (dev.to)
🗣️ Stimme:

O Java permite o acesso direto a qualquer posição de um arquivo com a classe RandomAccessFile, ideal para manipulação de dados que precisam ser lidos ou escritos fora de ordem. Ao contrário das classes InputStream e OutputStream, RandomAccessFile implementa as interfaces DataInput e DataOutput, que fornecem métodos para manipular tipos de dados primitivos (como int, double, etc.).



Estrutura e Construtor de RandomAccessFile

Construtor:




CODE
RandomAccessFile(String nomeArquivo, String acesso)








  • nomeArquivo: nome do arquivo.

  • acesso: define o tipo de acesso ("r" para leitura, "rw" para leitura e escrita).

  • Método seek(long posicao): Define a posição do ponteiro dentro do arquivo.




CODE
void seek(long novaPos) throws IOException








  • novaPos: Posição em bytes a partir do início do arquivo. Após seek, a leitura/escrita acontece a partir da nova posição.



Exemplo de Código: Acesso Aleatório a Valores Double

Abaixo, um exemplo que escreve seis valores do tipo double em um arquivo e depois os lê em posições específicas.




CODE
import java.io.*;

class RandomAccessDemo {
public static void main(String args[]) {
double data[] = { 19.4, 10.1, 123.54, 33.0, 87.9, 74.25 };
double d;

// Abre e usa um arquivo de acesso aleatório
try (RandomAccessFile raf = new RandomAccessFile("random.dat", "rw")) {

// Grava os valores no arquivo
for(int i = 0; i < data.length; i++) {
raf.writeDouble(data[i]);
}

// Lê valores específicos com o método seek()
raf.seek(0); // Busca o primeiro valor
d = raf.readDouble();
System.out.println("Primeiro valor: " + d);

raf.seek(8); // Busca o segundo valor
d = raf.readDouble();
System.out.println("Segundo valor: " + d);

raf.seek(8 * 3); // Busca o quarto valor
d = raf.readDouble();
System.out.println("Quarto valor: " + d);

System.out.println("\nValores alternados:");
for(int i = 0; i < data.length; i += 2) {
raf.seek(8 * i); // Busca o i-ésimo valor
d = raf.readDouble();
System.out.print(d + " ");
}

} catch(IOException exc) {
System.out.println("Erro de I/O: " + exc);
}
}
}







Explicação do Código:

Gravação: Os valores double são escritos no arquivo random.dat. Como cada double ocupa 8 bytes, cada valor começa em múltiplos de 8 bytes (0, 8, 16, ...).



Leitura com seek():




  • Primeiro valor: Começa no byte 0.

  • Segundo valor: Começa no byte 8.

  • Quarto valor: Começa no byte 24 (3º índice, já que 8 * 3 = 24).

  • Valores alternados: A cada 16 bytes (8 bytes entre cada valor), os valores são lidos.



Saída do Código

Exemplo de saída:




CODE
Primeiro valor: 19.4
Segundo valor: 10.1
Quarto valor: 33.0

Valores alternados:
19.4 123.54 87.9







Pontos Importantes:

Posicionamento com seek(): Define a posição do ponteiro para ler/escrever em qualquer parte do arquivo.

Controle de Posição com Bytes: Como cada double ocupa 8 bytes, podemos calcular a posição de cada valor usando múltiplos de 8.

Esse exemplo é útil para manipular grandes quantidades de dados de forma eficiente, acessando apenas os pontos necessários sem percorrer todo o arquivo.



Image description

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
3 Quellen
GPT-6 Astra Release Today? OpenAI’s Next Major AI Model Is Almost Here
1 Quelle
Apple accuses OpenAI of destroying evidence as trade-secrets fight intensifies
1 Quelle
Major AI platforms go down in unprecedented simultaneous outage
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Arquivos de acesso aleatório

Thematisch verwandte Begriffe: Arquivos, acesso, aleatório · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...