Vous êtes sur la page 1sur 60

Asignacin a cargo del

Facilitador
Programacin Orientada a Objetos III
Miguel Montes Martnez
Matricula: AL12516992
Facilitador: Oralia Gmez Almaraz

ndice
Unidad 1. Archivos
Flujo de E/S
Flujo de E/S en JAVA
Manejo de archivos
Clase File en JAVA
Manipulacin de archivos en JAVA
Cdigo JAVA Manipulacin de archivos Evidencia del aprendizaje
unidad 1.
Representacin grafica del cdigo.
Leyendo un archivo y mostrarlo en un TextArea
Renombrando un archivo
Renombrando un archivo
Eliminar un archivo

ndice
Unidad 2 - Hilos
Concepto Hilos
Flujo nico
Flujo mltiple
Hilos em Java
Ejemplo de cdigo Java: Hilos - Evidencia del aprendizaje unidad 2.
Representacin grafica del cdigo. Evidencia del aprendizaje unidad 2.
Clase: HiloLento
Clase: HiloNormal
Clase: HiloRpido
Clase: Ventana Instanciar Hilos e iniciarlos
Clase: Ventana Detener todos los hilos
Clase: Ventana Reiniciar los hilos de forma independiente
Clase: Ventana Detener los hilos de forma independiente
Anlisis FODA: Uso de Hilos
Fortalezas, Oportunidades, Debilidades, Amenazas

ndice
Unidad 3- Programacin en Red
Programacin en Red
Modelo cliente-servidor
Streams Java
Sockets
Sockets- Modelo cliente-servidor
Ejemplo de cdigo Java: Sockets Chat
Representacin grafica del cdigo.
Clase: Servidor
Clase: Servidor implementacin del socket Hilos
Clase: Servidor mtodo leer()
Clase: Servidor mtodo escribir()

Clase: Cliente
Clase: Cliente implementacin del socket Hilos
Clase: Cliente mtodo leer()
Clase: Cliente mtodo escribir().

Conclusiones
Recomendaciones
Referencias

Unidad I
Archivos
Disear clases para manipular datos
mediante las operaciones bsicas de los
archivos.

Flujo de E/S
Para la entrada y salida de datos de un programa es
necesario manejar los flujos de informacin que se generan
entre el programa y el quipo donde se est ejecutando, a
estos flujos se les conoce como streams.
Un stream, cuya traduccin literal es flujo, es una
abstraccin de todo aquello que produce
o consume informacin.

Flujos de entrada/salida en Java


Flujo de bytes (ByteStreams): Nos proporciona un medio
adecuado para el manejo de entradas y salidas de bytes; su
uso lgicamente est orientado a la lectura y escritura de
datos binarios.
Flujo de caracteres (CharacterStreams): Proporciona un
medio adecuado para el manejo de entradas y salidas de
caracteres.

Flujos que permiten la entrada de datos del exterior hacia


un programa

Flujos que permiten la salida de informacin del


programa hacia el exterior.

Manejo de archivos
Los archivos de datos son un conjunto de datos estructurados,
que se tratan como una unidad y se encuentran almacenados
en algn dispositivo creado para este fin (disco duro o
memoria flash, por ejemplo).
Los archivos son tomados por Java como una sola cosa,
dentro de la cual pueden existir numerosas formas diferentes
(caracteres, dgitos, imgenes, etc.).

Clase File en JAVA


Para manejar los archivos utilizars la clase File, la cual no
trabaja sobre un flujo, sino que trata directamente con el
fichero y con el sistema de ficheros. Con esta clase no
accedes a los datos, pues est orientada a obtener y/o
manipular la informacin asociada al archivo, por ejemplo:
permisos, fechas, saber si es un fichero o un directorio, etc.

Manipulacin de archivos en JAVA


Crear un objeto de la clase File, y a este objeto hay que
enviarle la direccin y nombre del archivo que va a crear (es
decir dnde se va a ubicar).
El manejo del flujo de salida (pues los datos saldrn del
programa hacia el archivo). Esto puede ser con o sin buffer.
Una vez que se tengan los elementos anteriores slo hace
falta invocar el mtodo de escritura.

Manipulacin de archivos en JAVA


Dentro de la manipulacin de archivos esto es lo que
podemos realizar:
Creacin de archivos.
Lectura de archivos.
Renombrar archivos.
Eliminacin de archivos.

Ejemplo de cdigo Java: Manipulacin de archivos.


Evidencia del aprendizaje unidad 1.

En el ejercicio solo se manejar explicar el cdigo java de la


manipulacin de archivos, todo lo relacionados con los
componentes grficos no sern considerados ni explicados.

Salida o representacin grafica del cdigo.


Evidencia del aprendizaje unidad 1.

Leyendo un archivo y mostrarlo en un TextArea

Renombrando un archivo

Renombrando un archivo

Eliminar un archivo

Modificar un archivo

Unidad II
Hilos
Utilizacin de hilos para el manejo de flujos
mltiples de informacin.

Hilos
Los hilos en programacin, bsicamente, son procesos de
ejecucin, de tal manera que si se programan varios hilos en
una sola aplicacin; sta ser capaz de realizar varias tareas
de manera paralela, por lo que este tema resulta de
sobremanera til cuando se deban realizar programas con
una gran carga de procesamiento de informacin.

Flujo nico
Un programa de flujo nico, tarea nica o mono-hilo utiliza un
nico flujo de control para controlar su ejecucin. Muchos
programas no necesitan la potencia o utilidad de mltiples
tareas. Sin necesidad de especificar explcitamente que se
quiere un nico flujo de control.
Ejemplo de cdigo 1. Impresin de nmeros en programa de flujo nico.
private void btnEjecutarActionPerformed(java.awt.event.ActionEvent evt) {
String texto="";
for(int i=0; i<100; i++){
texto+=i+"\n";
txaImpresion.setText(texto);
}
}

Flujo mltiple
El flujo mltiple de ejecucin de programas permite que se
estn realizando diferentes tareas en un programa al mismo
tiempo; es decir, que las tareas se ejecuten de forma paralela,
para ello Java utiliza unos elementos llamados hilos (thread).

Hilos em Java
Los hilos de ejecucin en Java estn implementados en la
clase thread, que forma parte del paquete java.lang. Cada hilo
(thread) tiene un principio, un flujo de ejecucin y un fin
definidos, pero no es una entidad independiente sino que
debe ejecutarse en el contexto de un programa.

Ejemplo de cdigo Java: Hilos


Evidencia del aprendizaje unidad 2.

En el ejercicio solo se manejar explicar el cdigo java los


hilos, todo lo relacionados con los componentes grficos no
sern considerados ni explicados.

Salida o representacin grafica del cdigo.


Evidencia del aprendizaje unidad 2.

Esta aplicacin est compuesta por 4 clases, en el que se


muestra la ejecucin de hilos a velocidades distintas, y que
pueden detenerse e iniciarse conjunta e independientemente.

Clase: HiloLento
Evidencia del aprendizaje unidad 2.

Clase: HiloNormal
Evidencia del aprendizaje unidad 2.

Clase: HiloRpido
Evidencia del aprendizaje unidad 2.

Clase: Ventana Instanciar Hilos e iniciarlos


Evidencia del aprendizaje unidad 2.

Clase: Ventana Detener todos los hilos


Evidencia del aprendizaje unidad 2.

Clase: Ventana Reiniciar los hilos de forma independiente


Evidencia del aprendizaje unidad 2.

Clase: Ventana Detener los hilos de forma independiente


Evidencia del aprendizaje unidad 2.

Anlisis FODA: Uso de Hilos


Fortalezas:
Son mejor la creacin de hilos que crear procesos.
Los hilos son ms rpidos que los procesos.
Los hilos aumentan la eficiencia de la comunicacin entre
programas en ejecucin.
Tambin toma menos tiempo cerrar un thread que un
proceso.
La comunicacin entre threads se puede hacer sin
necesidad de invocar al sistema operativo.

Anlisis FODA: Uso de Hilos


Oportunidades:
Se tiene que poner nfasis en una buena sincronizacin,
con esto los resultados pueden ser satisfactorios.
Los hilos son mejor cuando se utilizan multihilos.

Anlisis FODA: Uso de Hilos


Debilidades:
Al tener hilos independientes se debe establecer
correctamente la ejecucin para que los resultados sean los
esperados.

Anlisis FODA: Uso de Hilos


Amenazas:
Lo peligroso que resulta una mala sincronizacin entre Hilos,
que puede conducir a inconsistencia en los datos

Unidad III
Programacin en Red
Generacin programas en red para el
intercambio de informacin entre un cliente
y un servidor, mediante la manipulacin de
sockets.

Programacin en Red
La inmensa mayora de las computadoras que existen
intercambian informacin unas con otras; para intercambiar
informacin, ya sea personal, comercial, o slo por
convivencia, las personas se encuentran en constante
comunicacin y, en dicha actividad, las computadoras son de
gran ayuda, para permitir una instantnea comunicacin sin
importar las distancias.

Modelo cliente-servidor
Para lograr la comunicacin entre computadoras es
importante realizar un intercambio de informacin entre stas,
de manera tal que debemos contar con una computadora que
envi una peticin de informacin (cliente) a otra, que al
recibir la peticin le responda con la informacin solicitada
(servidor).

Streams Java
Java ha desarrollado clases que permiten la manipulacin de
los puertos de las computadoras que permitan esta
comunicacin en red entre los diferentes equipos.
Los streams son tuberas o canales de comunicaciones:
tienen dos extremos entre los cuales fluyen los datos de
manera continua.

Streams Java

Streams Java
Para el manejo flujos de entrada/salida, Java nos proporciona
dos tipos de flujos posibles, los de byte y los de caracteres. Los
cuales se describen a continuacin:
Flujo de bytes (ByteStreams): Nos proporciona un medio
adecuado para el manejo de entradas y salidas de bytes y su
uso lgicamente est orientado a la lectura y escritura de
datos binarios.
Flujo de caracteres (CharacterStreams): Proporciona un
medio adecuado para el manejo de entradas y salidas de
caracteres.

Sockets
Para crear un puente entre dos equipos que pretenden
conectarse se requiere de los siguientes elementos: los
sockets, que son bsicamente cada uno de los extremos (en
cada equipo/computadora) que generan la comunicacin entre
dos programas que se estarn comunicando en red. Por su
parte los sockets requieren de conocerla direccin IP del
equipo con el que se entablar la comunicacin, adems del
puerto al que se conectar, pues bien los puertos son las
conexiones fsicas que tiene un equipo para conectarse a la
red.

Sockets- Modelo cliente-servidor

En el modelo cliente-servidor, el cliente es quien comienza la


comunicacin realizando una peticin al servidor, por lo que el
cliente ya debe conocer el nombre de host de la mquina en
que se ejecuta el servidor (IP) y el nmero de puerto en el
que escucha el servidor.

Sockets
Para crear un puente entre dos equipos que pretenden
conectarse se requiere de los siguientes elementos: los
sockets, que son bsicamente cada uno de los extremos (en
cada equipo/computadora) que generan la comunicacin entre
dos programas que se estarn comunicando en red. Por su
parte los sockets requieren de conocerla direccin IP del
equipo con el que se entablar la comunicacin, adems del
puerto al que se conectar, pues bien los puertos son las
conexiones fsicas que tiene un equipo para conectarse a la
red.

Ejemplo de cdigo Java: Sockets - Chat


Evidencia del aprendizaje unidad 3.

En el ejercicio solo se manejar explicar el cdigo java


referente a sockets, todo lo relacionados con los componentes
grficos no sern considerados ni explicados.

Salida o representacin grafica del cdigo.


Evidencia del aprendizaje unidad 2.

Esta aplicacin est compuesta por 2 clases, en el que se


muestra la ejecucin de los sockets, mediante la emulacin de
un chat.

Clase: Servidor
Evidencia del aprendizaje unidad 2.

Adems de la interfaz grafica, esta clase esta compuesta de


tres mtodos principales: instancia del socket (Puente de
comunicacin con el cliente) mediante hilos, que a su vez
implementa dos mtodos: Leer y Escribir (Lo que recibe del
cliente y lo que enva al cliente)
En el mtodo main se hace la instancia para mandar a llamar
al constructor de la clase Servidor, que implementa la interfaz
y los mtodos leer y escribir, as como el socket.

Clase: Servidor implementacin del socket - Hilos


Evidencia del aprendizaje unidad 2.

Esta instancia manda a llamar a los mtodos leer() y escribir();

Clase: Servidor mtodo leer()


Evidencia del aprendizaje unidad 2.

Clase: Servidor mtodo escribir()


Evidencia del aprendizaje unidad 2.

Clase: Cliente
Evidencia del aprendizaje unidad 2.

Adems de la interfaz grafica, esta clase esta compuesta de


tres mtodos principales: instancia del socket (Puente de
comunicacin con el cliente) mediante hilos, que a su vez
implementa dos mtodos: Leer y Escribir (Lo que recibe del
cliente y lo que enva al cliente)
En el mtodo main se hace la instancia para mandar a llamar
al constructor de la clase Cliente, que implementa la interfaz y
los mtodos leer y escribir, as como el socket.

Clase: Cliente implementacin del socket - Hilos


Evidencia del aprendizaje unidad 2.

Esta instancia manda a llamar a los mtodos leer() y escribir();

Clase: Cliente mtodo leer()


Evidencia del aprendizaje unidad 2.

Clase: Cliente mtodo escribir()


Evidencia del aprendizaje unidad 2.

Conclusiones
La temtica de esta materia va orienta a la integracin de
todos los temas vistos en las unidades 1, 2 y 3, y que al final
de la asignatura se pudo contrastar la utilidad de los Streams,
hilos y sockets que convenientemente son herramientas que
se utilizan en las aplicaciones que en la actualidad nos
rodean.

Recomendaciones
Para la asignatura es importante enfocarse en mas casos
prcticos, ya que esto dar mayor facilidad de aprendizaje.
Existe mucha mas informacin y se pueden utilizar o
diversificar mas los ejercicios orientados a distintas
aplicaciones.

Referencias
Material de la unidad I.
Material de la unidad II.
Material de la unidad III.

Vous aimerez peut-être aussi