Esta es la presentación del Nivel 8 del curso "ISIS-1205 Algorítmia y Programación por Objetos 2" (APO2) de la Universidad de los Andes, Bogotá, Colombia.
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
Algoritmos y programación 2
1. NIVEL 8
ALGORÍTMICA Y PROGRAMACIÓN 2 (APO 2)
Mario José Villamizar Cano
mj.villamizar24@uniandes.edu.co
Oficina ML-637
http://sistemas.uniandes.edu.co/~mj.villamizar24/dokuwiki/doku.php
Grupo de Tecnologías de Información y Comunicación (COMIT)
Departamento de Ingeniería de Sistemas y Computación
Universidad de los Andes, Bogotá D.C., Colombia
2. NIVEL 8
REDES SOCIALES
mjvc007@hotmail.com
http://twitter.com/mariocloud
http://linkedin.com/in/mariojosevillamizarcano
3. NIVEL 8
NIVEL 8 – ARCHIVOS, SERIALIZACIÓN Y TIPOS DE EXCEPCIÓN
Caso de estudio 1 – Explorados de archivos
Expresiones condicionales
Manipulación básica de archivos
Lectura de archivos
Manipulación de cadenas de caracteres
Escritura de archivos
Pruebas unitarias con archivos
Componente JTextArea
4. NIVEL 8
NIVEL 8 – ARCHIVOS, SERIALIZACIÓN Y TIPOS DE EXCEPCIÓN
Caso de estudio 2 – Tienda virtual de discos
Diseño e implementación de excepciones
Reportes y otras salidas en archivos
Importación de datos desde archivos
Construcción de pruebas unitarias
Persistencia simple por serialización
Controlar la salida de un programa
Manejo de logs
Componente JComboBox
Uso del depurador de Eclipse
5. NIVEL 8
CASOS DE ESTUDIO
Caso de estudio 1: Explorados de archivos
6. NIVEL 8
CASOS DE ESTUDIO
Caso de estudio 2: Tienda virtual de discos
7. NIVEL 8
HOJAS DE TRABAJO
Hoja de trabajo 1: Campeonato de fórmula 1
8. NIVEL 8
HOJAS DE TRABAJO
Hoja de trabajo 2: Mundial de fútbol
9. NIVEL 8
CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS
Interfaz Gráfica
10. NIVEL 8
CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS
Requerimientos funcionales.
11. NIVEL 8
CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS
Requerimientos funcionales.
12. NIVEL 8
CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS
Requerimientos funcionales.
13. NIVEL 8
CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS
Modelo del Mundo
14. NIVEL 8
CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS
Modelo de la Interfaz
15. NIVEL 8
CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS
Modelo de las Pruebas
19. NIVEL 8
MANIPULACIÓN BÁSICA DE ARCHIVOS
Para representar un archivo o directorio en Java se utiliza la clase File.
Métodos de la clase File:
length() getAbsolutePath( ) getName( )
lastModified( ) createNewFile( ) listFiles( )
isDirectory( ) isFile( )
Constante: File.separator
21. NIVEL 8
LECTURA DE ARCHIVOS
Se utilizan las clases FileReader y BufferedReader:
FileReader: Lee el archivo como una fuente de caracteres.
BufferedReader: Lee el archivo como una secuencia de caracteres
(String).
22. NIVEL 8
LECTURA DE ARCHIVOS
Clase Método Excepción Causa
File File(nombreCompleto) NullPointerException El nombre completo
del archivo o
directorio es nulo
File File(directorio, NullPointerException El nombre corto del
nombreCorto) archivo o directorio
es nulo
File createNewFile( ) IOException Error al crear el
archivo
FileReader FileReader (File) FileNotFoundException No existe el archivo
FileReader close( ) IOException Error al cerrar la
fuente de caracteres
BufferedReader readLine( ) IOException Error al leer el
archivo
BufferedReader close( ) IOException Error al cerrar la
fuente de cadenas
23. NIVEL 8
LECTURA DE ARCHIVOS
Clase Método Excepción Causa
File delete() SecurityException Problemas debido a
permisos del archivo o
directorio
File mkdir() SecurityException Problemas debido a
permisos del directorio
File mkdirs() SecurityException Problemas debido a
permisos del directorio
File exists() SecurityException Problemas debido a
permisos del archivo o
directorio
FileReader renameTo( File) SecurityException Problemas debido a
permisos del archivo o
directorio
BufferedReader setReadOnly( ) SecurityException Problemas debido a
permisos del archivo o
directorio
24. NIVEL 8
MANIPULACIÓN DE CADENAS DE CARACTERES
Métodos de la clase String:
trim( )
toLowerCase()
toUpperCase()
indexOf( caracter )
lastIndexOf( caracter )
25. NIVEL 8
MANIPULACIÓN DE CADENAS DE CARACTERES
Métodos de la clase String:
subString( inicio, fin ). IndexOutOfBoundException.
La posición de inicio se incluye.
La posición de fin se excluye.
subString( inicio ). IndexOutOfBoundException.
startsWith( prefijo)
endsWith( sufijo )
split( separador )
replace( car1, car2 )
replace( cadena1, cadena2 )
26. NIVEL 8
MANIPULACIÓN DE CADENAS DE CARACTERES
Ejemplo de la Clase Directorio:
27. NIVEL 8
ESCRITURA DE ARCHIVOS
Se utilizan las clases PrintWriter :
Los métodos print( cadena ) y flush( ) también pueden ser utilizados.
28. NIVEL 8
ESCRITURA DE ARCHIVOS
Ejemplo de uso del PrintWriter :
32. NIVEL 8
PRUEBAS UNITARIAS CON ARCHIVOS
Estas pruebas requieren de un escenario físico, ya que hay que crear
archivos y directorios:
33. NIVEL 8
PRUEBAS UNITARIAS CON ARCHIVOS
Estas pruebas requieren de un escenario físico, ya que hay que crear
archivos y directorios:
34. NIVEL 8
PRUEBAS UNITARIAS CON ARCHIVOS
Construcción de un escenario de pruebas:
35. NIVEL 8
PRUEBAS UNITARIAS CON ARCHIVOS
Creación de una prueba:
36. NIVEL 8
PRUEBAS UNITARIAS CON ARCHIVOS
Creación de una prueba:
37. NIVEL 8
CASOS DE ESTUDIO
Caso de estudio 2: Tienda virtual de discos
38. NIVEL 8
CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS
Modelo del Mundo
39. NIVEL 8
CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS
Modelo de las Pruebas
40. NIVEL 8
CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS
Requerimientos funcionales.
41. NIVEL 8
CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS
Requerimientos funcionales.
42. NIVEL 8
CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS
Requerimientos funcionales.
43. NIVEL 8
CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS
Requerimientos funcionales.
44. NIVEL 8
CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS
Requerimientos NO funcionales.
45. NIVEL 8
DISEÑO E IMPLEMENTACIÓN DE LAS EXCEPCIONES
En el programa se deben poder manejar tres nuevo tipos de
excepciones.
ElementoExisteException:
En caso de que ya exista un disco en la tienda con ese nombre.
En caso de que ya exista en el disco una canción con ese nombre.
Interesa:
Nombre del disco o canción que se desea agregar.
ArchivoVentaException:
El formato del archivo de pedidos es inválido.
Error de lectura del archivo con el pedido de canciones.
Interesa:
Causa del error.
Número de canciones que pudieron ser vendidas.
46. NIVEL 8
DISEÑO E IMPLEMENTACIÓN DE LAS EXCEPCIONES
En el programa se deben poder manejar tres nuevo tipos de
excepciones.
PersistenciaException:
Error al leer o escribir el archivo con la información del estado del
modelo del mundo.
Interesa:
Causa del error.