You are on page 1of 4

CARRERA-SISTEMAS

Nombre:
Fecha:28/04/16

Mischell

Espinoza

ARCHIVOS DE ACCESO ALEATORIO O DIRECTO


La clase RandomAccessfile nos permitir representar un fichero de acceso aleatorio
para el que nosotros definiremos el formato de sus registros.
Los constructores de la clase son:

RandomAccessFile (String path, String modo);


RandomAccessFile (File objetoFile, String modo);

Lanzan una excepcin FileNotFoundException.


El argumento modo indica el modo de acceso en el que se abre el fichero.
Los valores permitidos para este parmetro son:
modo

Significado

"r"

Abre el fichero en modo solo lectura.


El fichero debe existir.
Una operacin de escritura en este fichero lanzar una excepcin
IOException.

"rw"

Abre el fichero en modo lectura y escritura. Si el fichero no existe se crea.

RandomAccessFile: soporta la nocin de un puntero de archivo. El puntero de archivo


indica la ubicacin actual en el archivo. Cuando el archivo se acaba de crear, el puntero
de archivo se establece a 0, indicando el inicio del archivo. Las llamadas a los mtodos
read y write ajustan el puntero de archivo por el nmero de bytes ledos o escritos.
Los objetos RandomAccessFile esperan leer y escribir informacin de la misma manera
que los objetos de entrada y salida de datos. S pueden usar todas las operaciones de read
( ) y write ( ) encontradas en las clases DataInputStream y DataOutputStream.
El lenguaje de programacin de Java provee varios mtodos para ayudar a moverse
alrededor dentro del archivo.
longgetFilePointer( ) ;
Obtiene el lugar en el que se encuentra el apuntador del archivo:
void seek (long pos) ;
Pone el apuntador en una posicin absoluta especfica. La posicin es dada como un

byte-offset desde el principio del archivo. La posicin 0 marca el inicio del archivo.

long length ( ) ;
Obtiene la longitud del archivo. La posicin length ( ) marca el fin del archivo.
Ejercicio:
package aleatorio;
import java.io.EOFException;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;
public class Random1 {
static Scanner sc = new Scanner(System.in);
static RandomAccessFile fichero = null;
public static void main(String[] args) {
int numero;
try {
//se abre el fichero para lectura y escritura
fichero = new RandomAccessFile("/ficheros/", "rw");
mostrarFichero(); //muestra el contenido original del fichero
System.out.print("Introduce un nmero entero para aadir al final del fichero: ");
numero = sc.nextInt(); //se lee el entero a aadir en el fichero
fichero.seek(fichero.length()); //nos situamos al final del fichero
fichero.writeInt(numero);

//se escribe el entero

mostrarFichero();//muestra el contenido del fichero despus de aadir el nmero

} catch (FileNotFoundException ex) {


System.out.println(ex.getMessage());
} catch (IOException ex) {
System.out.println(ex.getMessage());
} finally {
try {
if (fichero != null) {
fichero.close();
}
} catch (IOException e) {
System.out.println(e.getMessage());
}}

public static void mostrarFichero () {


int n;
try {
fichero. Seek (0); //nos situamos al principio
while (true) {
n = fichero. readInt (); //se lee un entero del fichero
System.out.println(n); //se muestra en pantalla
}
} catch (EOFException e) {
System.out.println("Fin de fichero");
} catch (IOException ex) {
System.out.println(ex. getMessage ());

}}
BIBLIOGRAFIA:

Senn, J. A. (1996). Anlisis y Diseo de sistemas. Mc Graw Hill, Mxico.


Deitel, P. J. (2004). Cmo programar en Java. Pearson Educacin.
Vanegas, C. A. Material Didctico de Java Lenguaje de Programacin II.

You might also like