Ejercicios Java [Teoría+Ejemplos]

<< < (2/4) > >>

Casidiablo:
Archivos y Flujos

Esta sección habla sobre la entrada/salida que se logra a través de flujos de datos dirigidos hacia, y desde, los archivos. En los siguientes ejemplos se traducen los objetos a un formato persistente. El proceso de poder almacenar datos en archivos o desplazarlos a través de redes (siguiente capítulo) hace que los programas puedan guardar datos y comunicarse entre sí. Se presenta un ejemplo de la clase File, que sirve para obtener información acerca de los archivos y directorios; también ejemplos sobre las clases ObjectInputStream, ObjectOutputStream, RandomAccessFile, etc. Nota: Muchos de los ejercicios de esta sección, necesitan de las clases de otros ejercicios de aquí mismo, para su correcto funcionamiento.


[0]Demostración de la clase File
[0]Creación de un archivo secuencial (ObjectOutputStream)
[0]Leer datos de un archivo secuencial (ObjectInputStream)
[0]Creación de un archivo de acceso aleatorio (RandomAccessFile)
[0]Escribir datos en un archivo de acceso aleatorio
[0]Leer datos en forma secuencial, de un archivo de acceso aleatorio
[0]Leer datos en forma aleatoria, de un archivo de acceso aleatorio
[0]Demostración de las clases FileChannel y ByteBuffer [/list]

Redes

En esta sección se presentan programas que se comunican a través de redes de computadores, exponiendo las mejores herramientas de red para Java. Es casi necesario manejar el tema de Archivos y Flujos ya que Java maneja las redes como si fueran flujos de datos. Se manejan objetos de las clases URL, Socket, ServerSocket, DatagramSocket, DatagramPacket, SocketException, HiperLinkEvent, Serializable, InetAdress, entre otras. El ejemplo cuilminante para esta sección es la creación de un Chat, que utiliza las características más importantes a la hora de implementar programas de redes en Java.

[0]Este programa carga un documento a partir de un URL. Manipulación de URL's
[0]Uso de un objeto JEditorPane para mostrar el contenido de un archivo en un servidor
[0]Interacción entre cliente/servidor mediante conexiones de socket de flujo
[0]Interacción entre cliente/servidor sin conexión mediante datagramas
[0]Juego de tres en raya (gato) tipo cliente/servidor (servidor con subprocesamiento múltiple)
[0]Ejemplos sacados del libro: "Cómo programar en Java" de Deitel:
[0]Programa de conversación simple DeitelMessenger (java.net)
[0]Programa de conversación simple DeitelMessenger con E/S sin bloqueo (java.nio)
[0]<<Programa de conversación, Casidiablo Chat (java.net)>> [/list]


Multimedia: imagenes, animación y audio

En esta sección se presentan características de Java que permiten que los programas cobren vida a través de la multimedia. Hay ejemplos sobre la manipulación de Imagenes, Audio y Animación.

[0]Cargar una imagen y mostrarla en su tamaño original y al doble de su tamaño original (Image e ImageIcon)
[0]Animación de una serie de imagenes (Timmer)
[0]Demostración de un mapa de imágenes
[0]Cargar un clip de audio y reproducirlo [/list]

Nota: Las herramientas de multimedia de Java van más allá de las que se presentan en esta sección. Entre estas herramientas se incluyen la API del marco de trabajos de medios de Java (Java Media Framework API), la API de sonido de Java (Java Sound API), la API de 3D de Java (Java 3D API), la API de procesamiento avanzado de imágenes de Java (Java Avanced Imaging API), la API de síntesis de voz de Java (Java Speech API), la API 2D de Java (Java 2D API) y la API de E/S de imágenes de Java (Java Image I/O API).
Por esto os dejo una pequeña fuente de información, para las API's anteriormente mencionadas, y algunas que se me escapan en el momento:

Esta es la página principal de la API JMF (Java Media Framework). Aquí puedes descargar la implementación de Sun más reciente de JMF. Este sitio también incluye la documentación para la API de JMF.La página principal de la API de sonido de Java. Esta API proporciona herramientas para reproducir y grabar audio.La página principal de la API 3D de Java. Esta API proporciona herramientas producir imagenes tridimensionales, típicas de los videojuegos de la actualidad.Este sitio proporciona un tutorial acerca de la API Java 3D.La página principal de la API para el manejo avanzado de imágenes en Java (Java Avanced Imaging). Esta API proporciona herramientas para procesar imágenes, como mejorar el contraste, recortar, escalar y la deformación geométrica.La página principal de la API de voz de Java (Java Speech). Esta API permite a los programas realizar la síntesis y el reconocimiento de voz.FreeTTS es una implementación de la API de voz de Java.Esta es la página principal de la API de Java 2D. Esta API (presentada -aquí-) proporciona herramientas para gráficos bidimensionales complejos.Este sitio contiene una descripción general de la API de E/S de imágenes de Java (Java Imagen I/O API), la cual permite a los programas definir procesos personalizados para cargar y guardar imágenes en formatos que no sean soportados todavía por las APIs de Java.

Casidiablo:
Fundamentos de un entorno típico en Java

La siguiente explicación define los pasos típicos para crear y ejecutar un programa en Java, utilizando el entronos de desarrollo de Java. Estos pasos se aplican en el dibujo mostrado más abajo y se explican en este texto.

Por lo general, los programas en Java pasan a través de cinco fases para poder ejecutarse. Estas fases son: edición, compilación, carga, verificación y ejecución. Hablamos sobre estos conceptos en el contexto del Kit de Desarrollo de software para Java 2 (J2SDK).


La fase 1 consiste en editar un archivo. Esto se logra mediante un programa de edición (el block de notas de Windows, el vim de Linux, o el que más te guste). El programador escribe un programa en Java utilizando el editor, y realiza las correcciones, si es necesario. Cuando en programador determina que el programa está listo, guarda el programa en un archivo con la extensión .java.

En la fase 2, el programador proporciona el comando javac para compilar el programa. El compilador de Java traduce el programa a código de bytes: las instrucciones que el intérprete de Java (o máquina virtual) puede entender. Por ejemplo, para compilar un programa llamado Hola.java, escriba:

javac Hola.java

en la ventana de comandos de su sistema. Si el programa se compila correctamente, el compilador genera un archivo Hola.class. Este archivo contiene códigos de bytes que se interpretan en la fase de ejecución.

La fase 3 se conoce como carga. El programa debe colocarse en memoria antes de ejecutarse. De esto se encarga el cargador de clases, que toma los archivos .class que contienen los códigos de bytes y los transfiere a la memoria principal. Depués, el archivo .class puede cargarse desde un disco en un sistema o a través de una red.

A medida que se cargan las clases, el veirficador de códigos de bytes se encarga de verificar sus códigos de bytes en la fase 4. Este proceso de verificación asegura que los códigos de bytes de las clases sean válidos y que no violen las restricciones de seguridad de Java. Java implementa una estrecha seguridad, ya que los programas en Java que llegan a través de la red no deben ser capaces de dañar sus archivos o su sistema (como podrían hacerlo un virus de computadora). Tome en cuenta que la verificación del código de bytes también se lleva a cabo en aplicaciones que descargan clases a través de una red.

Finalmente en la fase 5, el intérprete, bajo el control del sistema operativo, interpreta el programa un código de bytes a la vez, realizando en esta forma las acciones especificadas por el programa. Existen dos tipos de programas para los cuales ocurre este proceso: las aplicaciones y los applets. Una aplicación es un programa (como por ejemplo un programa de procesamiento de palabras, de hojas de cálculo, de dibujo o de correo electrónico) que generalmente se guarda y ejecuta desde el equipo local de usuario. Un applet es un pequeño programna que se guarda en un equipo remoto, al cual se conectan los usuarios a través de un navegador Web. El equipo remoto se conoce como un servidor Web. Los applets se cargan desde un equipo remoto en el navegador, se ejecutan en éste y se descartan cuando termina la ejecución. Para ejecutar un applet de nuevo, el usuario debe dirigir un navegador a la ubicacion apropiada en Internet y volver a cargar el programa en el navegador.

Las aplicaciones se cargan en memoria y se ejecutan, utilizando el intérprete de Java mediante el comando java. Al ejecutar una aplicación de Java llamada, por ejemplo, Hola.class, el comando

java Hola

invoca al intérprete para la aplicación Hola, y hace que el cargador de clases cargue la información utilizada en el programa Hola. [Nota: El intérprete de Java se conoce también como la Máquina Virtual, o la JVM (Java Virtual Maquine)].

Los navegadore Web como el Firefox o Internet Explorer se utilizan para ver los documentos en Internet, que generalmente son archivos HTML. Un documento HTML puede contener un applet de Java. Cuando el navegador ve la referencia (las etiquetas) a un applet en un documento HTML, inicia el cargador de clases de Java para cargar el applet. Todos los navegadores que cuentan con soporte para Java tienen un intérprete de Java incluido (es decir, una JVM). Una vez que se carga el applet, el intérprete de Java lo ejecuta. Los applets también pueden ejecutarse desde una linea de comandos, mediante el comando appletviewer que se incluye con el J2SDK. Al igual que un navegador, el appletviewer requiere un documento html para poder invocar al applet. Por ejemplo, si el archivo Hola.html hace referencia al applet Hola, el comando appletviewer se utiliza de la siguiente manera:

appletviewer Bienvenido.html

Este comando ocasiona que el cargador de clases cargue la información utilizada en el applet Hola. El appletviewer es un navegador muy básico; solo sabe como interpretar referencias a los applets e ignora el resto de código HTML del documento.

Es posible que los programas no funcionen bien la primera vez. Cada una de las fases anteriores puede fallar, debido a diversos errores. Por ejemplo, un programa podría intentar una división entre cero (una operación ilegal para la aritmética con números enteros en Java). Esto haría que el programa de java imprimiera un mensaje de error. El programador tendría que volver a la fase de edición, hacer las correciones y proceder con las fases restantes de nuevo, para determinar que las correciones funcionen apropiadamente.

Bien, eso fue una pequeña introducción a un entorno típico de desarrollo en Java, pero más adelante veremos como los IDE's nos pueden facilitar mucho trabajo integrando las herramientas que necesitemos en una sola.

Casidiablo:
Entornos de Desarrollo Integrado para Java

¿Qué es un IDE?

[0]BlueJ Java IDE (multiplataforma)
[0]DrJava Java IDE
[0]Eclipse (multiplataforma)
[0]Gel (Windows)
[0]Javelin from Step Ahead SW (Windows)
[0]JBuilder
[0]JCreator Java IDE LE (Light Edition) (Windows)
[0]JEdit
[0]jGRASP
[0]JIPE Java IDE
[0]JPad Pro
[0]IBM Rational Application Developer (Windwos y Gnu/Linux)
[0]IDEA
[0]NetBeans (Windows y Gnu/Linux)
[0]Oracle JDeveloper
[0]SlickEdit
[0]Sun Java Studio (MacOS, Windows y Solaris)
[0]Stylus Studio
[0]UltraStudio
[0]Visual Paradigm Integrated Development Environment (VP-JIDE)
[0]XEmacs
[/list]

Mioshi:
Buen aporte  ;D

jesusgll:
que buen manual, te felicito!!!!

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior