E
- El tipo de los datos almacenados en el ficheropublic class BinaryFile<E>
extends java.lang.Object
implements java.lang.Iterable<E>, java.util.Iterator<E>
BinaryFile
representa a un fichero binario
que almacena una secuencia de datos del mismo tipo (equivalente
a la construcción en Pascal file of tipo
). Para ello
ha sido necesario usar genericidad, y por lo tanto al definir una
variable de este tipo se debe añadir a BinaryFile
, entre
corchetes angulares, el tipo de datos almacenado, teniendo en cuenta
que si es un tipo primitivo se debe usar la clase asociada. A continuación
se muestran ejemplos de la definición de un fichero de enteros, de arrays
de enteros y de arrays bidimensionales de strings:
BinaryFile<Integer> fich
BinaryFile<double[]> fich
BinaryFile<String[][]> fich
He definido un iterador sobre esta clase para poder usar bucles for-each sobre ella.
Constructor and Description |
---|
BinaryFile(java.lang.String nomFich,
int modo)
Constructor de un fichero binario y apertura del mismo.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Cierra el fichero, permitiendo que otros programas puedan acceder a él.
|
boolean |
hasNext()
Uso interno
|
boolean |
isEndOfFile()
Comprueba si quedan o no datos por leer en el fichero.
|
java.util.Iterator<E> |
iterator()
Uso interno
|
E |
next()
Uso interno
|
E |
read()
Lee un dato del tipo asociado del fichero.
|
void |
remove()
Uso interno
|
void |
write(E dato)
Escribe el dato en el fichero.
|
public BinaryFile(java.lang.String nomFich, int modo)
nomFich
- Ruta y nombre del ficheromodo
- Modo de apertura:MODO_LECTURA
: Abre un fichero existente para lectura de datos.MODO_ESCRITURA
: Crea un nuevo fichero vacío (si ya existe se borra el
anterior) y permite escribir datos en el.public void close()
public E read()
Genera excepciones si el fichero se ha abierto para escritura o ya ha sido cerrado, o bien se intenta leer tras el final del fichero.
public void write(E dato)
Genera excepciones si el fichero se ha abierto para escritura o ya ha sido cerrado.
dato
- public boolean isEndOfFile()
Genera excepciones si el fichero se ha abierto para escritura o ya ha sido cerrado.
true
si se ha alcanzado el final del fichero, false
si
quedan datos por leer.public java.util.Iterator<E> iterator()
iterator
in interface java.lang.Iterable<E>
public boolean hasNext()
hasNext
in interface java.util.Iterator<E>
public void remove()
remove
in interface java.util.Iterator<E>