La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Igor Santos Grueiro. Ahora tenemos datos y datos …

Presentaciones similares


Presentación del tema: "Igor Santos Grueiro. Ahora tenemos datos y datos …"— Transcripción de la presentación:

1 Igor Santos Grueiro

2 Ahora tenemos datos y datos …

3 … pero ¿ dónde están esos datos?

4

5

6

7

8 Y si alguien pulsa …

9 … nos podemos pegar un tiro …

10

11 Un fichero es un conjunto de datos homogéneos almacenados en un soporte externo permanente.

12 Ficheros de Registros Ficheros de Texto Ficheros de Objetos Según su contenido pueden clasificarse en

13 Según su método de acceso pueden clasificarse en

14 Ficheros secuenciales

15 Ficheros de acceso directo

16 Ficheros de acceso indexado

17 De salidaDe entrada y salida

18 Y, ¿ cómo se manejan los ficheros en Java?

19 Hay que importar la biblioteca de manejo de entrada y salida

20 Se añade en la cabecera

21 Si vamos a meter objetos en el fichero…

22 … el tipo (o clase) del objeto tiene ser “Serializable”

23 Y, ¿eso cómo se hace?

24 public class NombreDeLaClase implements Serializable

25 Los métodos que utilicen ficheros pueden lanzar excepciones

26 añadiremos throws Exception a estos métodos

27

28 ¿Cómo se utilizan los ficheros de salida?

29 Crear un objeto de la clase FileOutputStream asociado al nombre del fichero físico 1

30

31 Crear un objeto de la clase ObjectOutputStream asociado al objeto anterior, es decir al fichero físico 2

32

33 Para escribir en el fichero los objetos de una clase concreta deberemos utilizar writeObject 3

34

35 Se puede grabar un objeto null como marca de fin de fichero 4

36

37 Se cierra el fichero lógico 5

38

39 ¿Cómo se utilizan los ficheros de entrada?

40 Crear un objeto de la clase FileInputStream asociado al nombre del fichero físico 1

41

42 Crear un objeto de la clase ObjectInputStream asociado al objeto anterior, es decir al fichero físico 2

43

44 Para leer los objetos que estén en el fichero los objetos de una clase concreta deberemos utilizar readObject 3

45 Pero ¡cuidado!, devuelve un objeto de la clase object

46 Es necesario un casting

47 Tipo t = (Tipo) ObjetoGenérico ;

48

49 Se realiza la lectura hasta encontrar el objeto null

50

51 Al finalizar se cierra el fichero lógico 4

52

53 Ya somos capaces de guardar nuestros datos

54

55 Y como siempre: ¡ A PRACTICAR!

56 Vamos a crear una biblioteca

57 Lo primero, creamos libros Implementar una clase entidad "Libro" que represente los libros de la biblioteca. Deberá tener 4 atributos privados que serán el código ISBN del libro (de tipo String), el título (de tipo String), el autor del libro (de tipo double) y si está o no prestado (de tipo booleano). Como métodos públicos se deberán definir: 1.Los dos constructores: por defecto y recibiendo los datos de los atributos. 2.Los consultores (get) y modificadores (set) para cada atributo. 3.mostrar, para visualizar los datos del libro.

58 Lo segundo, llenamos la biblioteca Haciendo uso de la clase "Libro", diseñar un programa para introducir desde el teclado los datos correspondientes a los libros que hay en la biblioteca y guardarlos en un fichero cuyos componentes son de la clase Libro.

59 En tercer lugar, mostramos la biblioteca Haciendo uso de la clase "Libro", diseñar un programa para visualizar todos los libros que hay en la biblioteca y que están contenidos en el fichero “LIBROS.DAT”.

60 Seguidamente, buscamos libros Haciendo uso de la clase "Libro", diseñar un programa para visualizar todos los libros que hay en la biblioteca y que pertenecen a un determinado autor, el cual ha sido seleccionado previamente introduciendo su nombre desde el teclado. Si el autor no tiene ningún libro en la biblioteca se emitirá un mensaje de esta situación al usuario del programa.

61 Por último, hacemos TODO Diseñar un programa que nos permita cargar el contenido del fichero en una estructura en memoria cuyos componentes son del mismo tipo que los del fichero de libros, y que una vez realizada esta carga en el array el programa mostrará en pantalla el siguiente menú: 1.Introducir un nuevo libro 2.Borrar un libro 3.Modificar un libro 4.Listado de los libros que existen de un autor 5.Relación de los libros prestados 6.Finalizar Una vez que ha sido visualizado el menú el usuario selecciona una de las seis opciones y el programa la ejecuta a continuación pudiendo repetirse este proceso hasta que la opción seleccionada sea la de Finalizar lo que le llevará a realizar al programa un volcado de la estructura en memoria sobre un fichero nuevo que contenga toda la actualización de los libros de la biblioteca

62 Introducir un nuevo libro Este método inserta o añade en la primera posición libre de la estructura en memoria un nuevo libro. Si ya existen 1000 libros, no se puede añadir ninguno más a dicha estructura. Todos los datos del libro se piden por teclado con el mismo formato que se utilizo para crear el fichero inicialmente.

63 Borrar un libro Este método suprime de la estructura en memoria el libro cuyo código ISBN ha sido introducido por el usuario a través del teclado. En caso de que no exista dicho código se muestra un mensaje de error, y si existe en la estructura antes de borrarlo se comprueba que no esté prestado en cuyo caso se aborta la acción avisando de este hecho al usuario. En caso de que no este prestado el libro se visualizarán todos los datos del libro y se confirmará por parte del usuario si está seguro de desear borrarlo. Si la respuesta es afirmativa, se suprime el libro de la estructura, en caso contrario no se realiza ninguna acción sobre ella. Para suprimir el libro hay que desplazar todos los libros que estén a su derecha una posición a la izquierda en dicha estructura.

64 Modificar un libro Este método permite modificar el código ISBN, el autor, el título o la situación del préstamo de un libro contenido en la estructura. El método preguntará al usuario cuál es el dato que desea modificar y le pedirá que introduzca por el teclado el nuevo valor que desea asignar a dichos datos.

65 Listado de los libros que existen de un autor Este método permite visualizar los atributos código ISBN y Título de cada uno de los libros contenidos en la biblioteca y que han sido escritos por un autor concreto, el cual es seleccionado por el usuario a través del teclado.

66 Relación de los libros prestados Este método permite mostrar en pantalla la relación de todos los libros de la biblioteca cuya condición es de estar prestados en ese momento.

67 El programa main tiene esta pinta public static void main(String[] args) throws Exception { Libro [] aLibros= new Libro[1000]; cargarLibros(aLibros); int opc; do{ opc = menu(); switch (opc){ case 1: nuevoLibro(aLibros); break; case 2: borrarLibro(aLibros); break; case 3: modificarLibro(aLibros); break; case 4: librosAutor(aLibros); break; case 5: librosPrestados(aLibros); break; } while (opc != 6); volcarLibros(aLibros); }

68 Cuando se finaliza con la opción 6 Una vez que el usuario selecciona la opción 6 para finalizar el programa, esté entonces ejecutará el siguiente método: Volcar la estructura en el fichero Se trata de volcar o salvar los componentes de la estructura en un nuevo fichero de libros actualizado (“LibrosAct.dat”).

69 ¡A programar !

70 Igor Santos Grueiro


Descargar ppt "Igor Santos Grueiro. Ahora tenemos datos y datos …"

Presentaciones similares


Anuncios Google