Академический Документы
Профессиональный Документы
Культура Документы
INDICE
1.Introduccin.......................................................................................................................................4
1.1.Excepciones. ................................................................................................................................................4
2.Conceptodeflujo............................................................................................................................... 6
Sockets.............................................................................................................................................................................. 6
Quesunsocket?..............................................................................................................................................................................6 Tiposdesocket..................................................................................................................................................................................6 ClaseSocket.......................................................................................................................................................................................7 ServiciosdelaclaseSocket................................................................................................................................................................7 ClaseServerSocket.............................................................................................................................................................................7 ServiciosdelaclaseServerSocket......................................................................................................................................................7 Comunicacinentreclienteservidor.................................................................................................................................................8 ClaseDatagramSocket.......................................................................................................................................................................8 ServiciosdelaclaseDatagramSocket................................................................................................................................................8 ClaseDatagramPacket.......................................................................................................................................................................8
Threads.............................................................................................................................................................................. 9
Quesunthread?............................................................................................................................................................................9 Quganamos?.................................................................................................................................................................................9 AtributosdeunthreadenJAVA .........................................................................................................................................................9 ClaseThread......................................................................................................................................................................................9 ServiciosdelaclaseThread.............................................................................................................................................................10 EstadosdeunThread......................................................................................................................................................................10 Sincronizacin..................................................................................................................................................................................10
Ejemplo:Unchat.............................................................................................................................................................. 11
Servidor.java....................................................................................................................................................................................11 Flujo.java.........................................................................................................................................................................................11 Cliente.java......................................................................................................................................................................................12
3.Clasesrelativasaflujos.................................................................................................................... 14
3.1.Ejemplocomentadodeunaclaseconflujos. ............................................................................................ 15
4.Flujos................................................................................................................................................16
4.1.Flujospredefinidos.Entradaysalidaestndar......................................................................................... 16 4.2.Flujospredefinidos.Entradaysalidaestndar.Ejemplo..........................................................................17 4.3.Flujosbasadosenbytes............................................................................................................................ 18 4.4.Flujosbasadosencaracteres.................................................................................................................... 19 4.5.Rutasdelosficheros.................................................................................................................................20
5.Trabajandoconficheros................................................................................................................... 21
5.1.Escrituraylecturadeinformacinenficheros......................................................................................... 21 5.2.Ficherosbinariosyficherosdetexto(I).................................................................................................... 22
5.2.1.Ficherosbinariosyficherosdetexto(II).............................................................................................................. 23
6.Aplicacionesdelalmacenamientodeinformacinenficheros.......................................................29 7.Utilizacindelossistemasdeficheros............................................................................................ 30
7.1.ClaseFile...................................................................................................................................................30 7.2.InterfaceFilenameFilter............................................................................................................................ 31 7.3.Creacinyeliminacindeficherosydirectorios...................................................................................... 32
8.Almacenamientodeobjetosenficheros.Persistencia.Serializacin..............................................34
8.1.Serializacin:utilidad................................................................................................................................ 34
Almacenandodatos
DAW
DesarrollodeAplicacionesWeb
Tema6
Almacenandodatos.
Caso prctico Ada est repasando los requisitos de la aplicacin informtica que estn desarrollando para la clnica veterinaria. En particular, ahora mismo se est centrando en estudiar las necesidades respecto al almacenamiento de datos. Ada piensa que hay ciertas partes de la aplicacin que no necesitan una base de datos para guardar los datos, y sera suficiente con emplear ficheros. Por ejemplo, para guardar datos de configuracin de la aplicacin. Tras repasar, se rene con Mara y Juan para planificar adecuadamente el tema de los ficheros que van a usar en la aplicacin, ya que es un asunto muy importante, que no deben dejar aparcado por ms tiempo. Precisamente Antonio, que cada vez est ms entusiasmado con la idea de estudiar algn ciclo, de momento, est matriculado y cursando el mdulo de Programacin, y est repasando para el examen que tiene la semana que viene, uno de los temas que le "cae" es precisamente el de almacenamiento de informacin en ficheros.
Almacenandodatos
DAW
1.Introduccin.
Cuandodesarrollasprogramas,enlamayoradeelloslosusuariospueden pedirlealaaplicacinque realice cosas y pueda suministrarle datos con los que se quiere hacer algo. Una vez introducidos los datos y las rdenes, se espera que el programa manipule de alguna forma esos datos, para proporcionarunarespuestaalosolicitado. Adems, normalmente interesa que el programa guarde los datos que se le han introducido, de forma que si el programa termina, los datos no se pierdan y puedan ser recuperados en una sesin posterior. La forma ms normal de hacer esto es mediante la utilizacin de ficheros, que se guardarnenundispositivodememorianovoltil(normalmenteundisco). Portanto,sabemosqueelalmacenamientoenvariablesovectores(arrays)estemporal,losdatosse pierden en las variables cuando estn fuera de su mbito o cuando el programa termina. Las computadoras utilizan ficheros para guardar los datos, incluso despus de que el programa termine su ejecucin. Se suele denominar a los datos que se guardan en ficheros datos persistentes, porque existen, persisten ms all de la ejecucin de la aplicacin. Los ordenadores almacenan los ficheros en unidades de almacenamiento secundario como discos duros, discos pticos, etc. En esta unidad veremoscmohacerconJavaestasoperacionesdecrear,actualizaryprocesarficheros. A todas estas operaciones, que constituyen un flujo de informacin del programa con el exterior, se lesconocecomoEntrada/Salida(E/S). Distinguimos dos tipos de E/S: la E/S estndar que se realiza con el terminal del usuario y la E/S a travsdeficheros,enlaquesetrabajaconficherosdedisco. Todas las operaciones de E/S en Java vienen proporcionadas por el paquete estndar del API de Java denominado java.io que incorpora interfaces, clases y excepciones para acceder a todo tipo de ficheros. El contenido de un archivo puede interpretarse como campos y registros (grupos de campos), dndoleunsignificadoalconjuntodebitsqueenrealidadposee.
Parasaberms A continuacin puedes ampliar tus conocimientos sobre Entrada y Salida en general, en el mundodelainformtica.Versqueesunbastotemaloqueabarca.
EntradaySalida. http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO5.htm
1.1.Excepciones.
Cuando se trabaja con archivos, es normal que pueda haber errores, por ejemplo: podramos intentar leer un archivo que no existe, o podramos intentar escribir en un archivo para el que no tenemos permisos de escritura. Para manejar todos estos errores debemos utilizar excepciones. Las dosexcepcionesmscomunesalmanejararchivosson: FileNotFoundException:Sinosepuedeencontrarelarchivo. IOException:Sinosetienenpermisosdelecturaoescrituraosielarchivoestdaado. Un esquema bsico de uso de la captura y tratamiento de excepciones en un programa, podra ser este,importandoelpaquetejava.io.IOException:
importjava.io.IOException; // ... public static void main(String[] args) {
DesarrollodeAplicacionesWeb
Tema6
try { // Se ejecuta algo que puede producir una excepcin } catch (FileNotFoundException e) { // manejo de una excepcin por no encontrar un archivo } catch (IOException e) { // manejo de una excepcin de entrada/salida } catch (Exception e) { // manejo de una excepcin cualquiera } finally { // cdigo a ejecutar haya o no excepcin } }
Seala la opcin correcta: Java no ofrece soporte para excepciones. Un campo y un archivo es lo mismo. Si se intenta abrir un archivo que no existe, entonces saltar una excepcin. Ninguna es correcta.
En el siguiente enlace hay un manual muy interesante de Java. Puedes consultar desde el ndice,msinformacinsobrelasexcepcionesenJava. ExcepcionesenJava.http://www.webtaller.com/manual-java/indice_manual_java.php
Almacenandodatos
DAW
2.Conceptodeflujo.
Caso prctico Antonio est estudiando un poco antes de irse a dormir. Se ha tomado un vaso de leche con cacao y est repasando el concepto de flujo. Entenderlo al principio, cuando lo estudi por primera vez, le cost un poco, pero ya lo entiende a la perfeccin y piensa que si le sale alguna pregunta en el examen de la semana que viene, sobre esto, seguro que la va a acertar.
LaclaseStreamrepresentaunflujoocorrientededatos, es decir, un conjunto secuencial de bytes, como puede ser un archivo, un dispositivo de entrada/salida (en adelante E/S), memoria, un conector TCP/IP (Protocolo deControldeTransmisin/ProtocolodeInternet),etc. Cualquier programa realizado en Java que necesite llevar a cabo una operacin de entrada salida lo har a travs deunstream. Un flujo es una abstraccin de aquello que produzca o consumainformacin.Esunaentidadlgica. Las clases y mtodos de E/S que necesitamos emplear son las mismas independientemente del dispositivo con el que estemos actuando, luego, el ncleo de Java, sabr si tiene que tratar con el teclado, el monitor, un sistema de archivos o un socket de red liberando al programador de tener quesaberconquinestinteractuando. LavinculacindeunflujoaldispositivofsicolahaceelsistemadeentradaysalidadeJava. En resumen, ser el flujo el que tenga que comunicarse con el sistema operativo concreto y "entendrselas" con l. De esta manera, no tenemos que cambiar absolutamente nada en nuestra aplicacin, que va a ser independiente tanto de los dispositivos fsicos de almacenamiento como del sistema operativo sobre el que se ejecuta. Esto es primordial en un lenguaje multiplataforma y tan altamenteportablecomoJava.
Seala la opcin correcta: La clase Stream puede representar, al instanciarse, a un archivo. Si programamos en Java, hay que tener en cuenta el sistema operativo cuando tratemos con flujos, pues vara su tratamiento debido a la diferencia de plataformas. La clase keyboard es la clase a utilizar al leer flujos de teclado. La vinculacin de un flujo al dispositivo fsico la hace el hardware de la mquina. Parasaberms EnlasiguientepresentacinpuedesaprendermssobresocketsenJava. Sockets
Quesunsocket? Definicin: Un socket es un punto final de un enlace de comunicacin de dos vas entre dos programasqueseejecutanatravsdelared. Elclienteyelservidordebenponersedeacuerdosobreelprotocoloqueutilizarn. Tiposdesocket Haydostiposdesocket: Orientadoaconexin:
DesarrollodeAplicacionesWeb
Tema6