La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Buffer Prácticas de EDI Juan Ramón Pérez Pérez. Buffer Prácticas EDI - © Juan Ramón Pérez2  Clase que hace de intermediaria entre el fichero y el resto.

Presentaciones similares


Presentación del tema: "Buffer Prácticas de EDI Juan Ramón Pérez Pérez. Buffer Prácticas EDI - © Juan Ramón Pérez2  Clase que hace de intermediaria entre el fichero y el resto."— Transcripción de la presentación:

1 Buffer Prácticas de EDI Juan Ramón Pérez Pérez

2 Buffer Prácticas EDI - © Juan Ramón Pérez2  Clase que hace de intermediaria entre el fichero y el resto de las clases de nuestra aplicación.  Lectura de bloques de caracteres  Almacenar bloques en un array (buffer) de tamaño fijo  Permite el procesamiento carácter a carácter  Permitir tratamiento correcto de caracteres acentuados y eñes.  Debe permitir al resto de las clases, leer (obtener) carácter a carácter todo el fichero.  Debe permitir deshacer la operación obtener.

3 Clase Buffer Prácticas EDI - © Juan Ramón Pérez3 Buffer vector: caracter [] InputStreamReader TAM_BUFFER= 100 cursor: entero cargarBuffer() create(URL) obtenerCaracter(): carácter retroceder() esFinal(): boolean Constructor Undo de obtenerCaracter() Elegir el stream adecuado según requisitos

4 obtenerCaracter() Prácticas EDI - © Juan Ramón Pérez4 <Basedato obtenerCaracter() cargarBuffer() :Buffer:InputStream read() Carácter: “<“ devuelve: < Si no hay caracteres para devolver Se llama al principio o cada vez que lleguemos al final del Buffer Se carga por bloques de caracteres

5 retroceder() Prácticas EDI - © Juan Ramón Pérez5 <Basedato :Buffer retroceder()

6 esFinal() Prácticas EDI - © Juan Ramón Pérez6  Devuelve true cuando el buffer ya no pueda devolver más caracteres. Es decir, hemos llegado al último carácter leído del Buffer y ya hemos leído todo el fichero.  Devuelve false en cualquier otro caso.  ¡Ojo!  La clase que utiliza el buffer no se tiene que enterar de que el buffer se tiene que recargar porque llegue al final, esto es un proceso interno al buffer. atos>????

7 Resolver situaciones conflictivas Prácticas EDI - © Juan Ramón Pérez7  ¿Qué pasa si estamos al final del vector del Buffer y llaman a obtenerCaracter()?  ¿Qué pasa si estamos al principio del vector y llaman a retroceder()?  Si acabamos de hacer la carga del primer bloque del fichero.  Si acabamos de cargar un bloque intermedio del fichero.  Algunas de estas situaciones provocarán un error que no se puede resolver en la propia clase …

8 Tratamiento de errores mediante excepciones Prácticas EDI - © Juan Ramón Pérez8  Excepciones: mecanismo eficiente y seguro de comunicación de situaciones de error entre clases.  Tipos de clases:  Sólo determinadas clases se encargarán de la interacción con el usuario.  La mayoría de las clases resolverán las tareas encomendadas.

9 Tratamiento de errores mediante excepciones Prácticas EDI - © Juan Ramón Pérez9  Si surge algún error en las clases internas, que no se pueda tratar en la propia clase, se pasará a la clase llamadora mediante excepciones.  Si ninguna clase intermedia pudo tratar el error, la clase de interfaz notificará el error al usuario de la manera más adecuada.

10 Esquema del tratamiento de errores Prácticas EDI - © Juan Ramón Pérez10 Interfaz Clases internas :Principal :UnBuffer Excepción Tratamiento interno Excepción No tratada

11 Esquema del tratamiento de errores (con clases intermedias) Prácticas EDI - © Juan Ramón Pérez11 Interfaz Clases internas :Principal :UnBuffer :UnaClaseI ntermedia

12 Excepción ExcepcionAnalisis Prácticas EDI - © Juan Ramón Pérez12 ExcepcionAnalisis TipoError: (buffer, …) Codigo: entero create(String mensaje, TipoError, codigo); getTipoError(): TìpoError; getCodigo(): entero java.lang.Exception

13 Tareas Prácticas EDI - © Juan Ramón Pérez13  Finalizar el diseño de la clase Buffer para que cumpla los requisitos pedidos.  Implementar métodos públicos y privados de la clase Buffer.  Implementar clase Excepción  Utilizar clase Excepción en el buffer.  Crear una clase de prueba para buffer: PruebaBuffer.


Descargar ppt "Buffer Prácticas de EDI Juan Ramón Pérez Pérez. Buffer Prácticas EDI - © Juan Ramón Pérez2  Clase que hace de intermediaria entre el fichero y el resto."

Presentaciones similares


Anuncios Google