uva.infor.soft
Class GeneralFile

java.lang.Object
  extended by uva.infor.soft.GeneralFile

public class GeneralFile
extends java.lang.Object

La clase GeneralFile representa a un fichero binario que almacena una secuencia de datos que pueden ser de tipos distintos. Existen 3 posibles diseños para esta clase:

Se ha elegido la segunda opción, para evitar el uso de typecasting en tipos primitivos. De momento sólo se han implementado métodos para los tipos primitivos numéricos.

Since:
28/04/2010
Author:
César Vaca Rodríguez

Constructor Summary
GeneralFile(java.lang.String nomFich, int modo)
          Constructor de un fichero binario general y apertura del mismo.
 
Method Summary
 void close()
          Cierra el fichero, permitiendo que otros programas puedan acceder a él.
 boolean isEndOfFile()
          Comprueba si quedan o no datos por leer en el fichero.
 java.lang.String msgError()
          Permite obtener un String que describe el último error producido.
 double readDouble()
          Lee un número real del fichero.
 int readInt()
          Lee un valor entero del fichero.
 java.lang.Object readOther()
          Lee un dato no primitivo del fichero.
 int status()
          Permite comprobar si la última operación sobre el fichero se ha realizado correctamente.
 void writeDouble(double dato)
          Escribe un valor double en el fichero.
 void writeInt(int dato)
          Escribe un valor entero en el fichero.
 void writeOther(java.lang.Object dato)
          Escribe un dato no primitivo en el fichero.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GeneralFile

public GeneralFile(java.lang.String nomFich,
                   int modo)
Constructor de un fichero binario general y apertura del mismo.

Parameters:
nomFich - Ruta y nombre del fichero
modo - 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.
Method Detail

close

public void close()
Cierra el fichero, permitiendo que otros programas puedan acceder a él.


readOther

public java.lang.Object readOther()
Lee un dato no primitivo del fichero. El dato se proporciona como Object, y se debe usar typecasting para convertirlo al tipo deseado.

Genera excepciones si el fichero se ha abierto para escritura o ya ha sido cerrado.

Posibles códigos de error (obtenidos llamando a status()):

Returns:
El dato leido o null si se ha producido un error

readInt

public int readInt()
Lee un valor entero del fichero.

Genera excepciones si el fichero se ha abierto para escritura o ya ha sido cerrado.

Posibles códigos de error (obtenidos llamando a status()):

Returns:
El valor leido o 0 si se ha producido un error

readDouble

public double readDouble()
Lee un número real del fichero.

Genera excepciones si el fichero se ha abierto para escritura o ya ha sido cerrado.

Posibles códigos de error (obtenidos llamando a status()):

Returns:
El valor leido o 0.0 si se ha producido un error

writeOther

public void writeOther(java.lang.Object dato)
Escribe un dato no primitivo en el fichero.

Genera excepciones si el fichero se ha abierto para escritura o ya ha sido cerrado. Posibles códigos de error (obtenidos llamando a status()):

Parameters:
dato -

writeInt

public void writeInt(int dato)
Escribe un valor entero en el fichero.

Genera excepciones si el fichero se ha abierto para escritura o ya ha sido cerrado. Posibles códigos de error (obtenidos llamando a status()):

Parameters:
dato -

writeDouble

public void writeDouble(double dato)
Escribe un valor double en el fichero.

Genera excepciones si el fichero se ha abierto para escritura o ya ha sido cerrado. Posibles códigos de error (obtenidos llamando a status()):

Parameters:
dato -

isEndOfFile

public boolean isEndOfFile()
Comprueba si quedan o no datos por leer en el fichero.

Genera excepciones si el fichero se ha abierto para escritura o ya ha sido cerrado.

Returns:
true si se ha alcanzado el final del fichero, false si quedan datos por leer.

status

public int status()
Permite comprobar si la última operación sobre el fichero se ha realizado correctamente.

Returns:
Codigo de la ultima operacion (apertura, lectura, escritura, etc.)
  • NO_ERROR: Operación correcta.
  • ERROR_INDEFINIDO: Fallo I/O.
  • ERROR_APERTURA: Fichero inexistente o no editable.
  • ERROR_FIN_FICHERO: Se alcanzó el final de fichero.

msgError

public java.lang.String msgError()
Permite obtener un String que describe el último error producido.

Returns:
Mensaje de error