Almacenando Información en Java (Ficheiros)

De Wiki do Ciclo ASIR do IES de Rodeira
Saltar á navegación Saltar á procura

Conceptos Básicos

Soporte, Organización e Acceso

Os Soportes

Un sistema informático xestiona a información almacenada na súa memoria RAM en formato binario, sendo procesada pola CPU para producir información nova que é almacenada de volta na memoria RAM do sistema. A memoria RAM é volátil, polo que si desconectamos o equipo a información almacenada se perde. Polo tanto é necesario almacenar a información binaria en algún tipo de soporte de información permanente.

Boxinfo info.png
Se entende por soporte calquera dispositivo que almacena información. Poden ser soportes volátiles (como a RAM) ou permanentes (como un SSD ou unha cinta magnética)

Os soportes de almacenamento permanente máis utilizados son os soportes magnéticos, que nos últimos anos están sendo substituídos polas memorias SSD. En canto ao xeito en que permiten almacenar e recuperar a información, podemos clasificar os soportes de almacenamento en:

  • Soportes Secuenciais: A información se almacena unha detrás de outra segundo vai chegando, non é posible retroceder nin avanzar a unha posición de escritura concreta sin pasar por enriba de información previa. Entre estes tipos de soporte podemos destacar as cintas magnéticas.
  • Soportes de Acceso Aleatorio: Permiten acceder a posicións concretas do soporte de xeito directo para realizar operacións de lectura e escritura. De este tipo de soportes podemos destacar os Discos Magnéticos (HDD) ou as memorias de estado sólido (SDD).


concepto e bloque e tipos de soporte (secuencial / directo) o sistema de arquivos

A clase File

A organización: Campos, Rexistros e Bloques

Rexistros de lonxitude fixa e rexistros de lonxitude variable Organización secuencial, directa e indexada

O acceso

Acceso secuencial, directo e indexado

Serialización, A interface Serializable

A clase RandomAccessFile

O "punteiro do ficheiro", operacións "seek" e "getFilePointer"


Exercicio =

A partir de unha clase, crear un ficheiro que garde os datos e un índice que os localice por chave primaria. No arranque do programa se carga o índice na memoria nun map.

class Index<K> {

       K key;
       long positition;

}