REPÚBLICA BOLIVARIANA DE VENEZUELA
INSTITUTO UNIVERSITARIO POLITÉCNICO
“SANTIAGO MARIÑO”




                                                       Autor:
                              Ordaz Noriega, Carlos Eduardo
                                              C.I: 20.903.710.

                Porlamar, Enero de 2013
INTRODUCCION


Java es un lenguaje de programación orientado a objetos,
multiplataforma lo cual nos permite desarrollar aplicaciones de
manera flexible, es decir, sin preocupaciones de que nuestro sistema
operativo no reconozca la aplicación.

Como todo lenguaje de programación java emplea ciertos métodos,
clases y funciones para la lectura y escritura de datos, esta
abstracción java la define como flujo de datos, estos flujos se
manejan a través de las clases InputStream para la entrada de datos
y la clase OutputStream para la salida de datos.

Las clases InputStream y OutputStream hacen referencia a todo
origen y destino de datos en la aplicación que se esta creando, por
ende todos los objetos deben hacer referencia a ellas cuando trabajan
con flujos de E/S.
ENTRADA Y SALIDA DE DATOS EN JAVA

         El manejo de datos de entrada y salida en java se hace a
través de clases que emplean el método stream para el tratamiento
de los mismos.

El stream puede definirse como un puente o conexión entre una
aplicación java y la fuente de donde provienen los datos para ser
tratados en la aplicación o bien sea el origen de los datos que se
tratan en la aplicación.



                                                     Fuente o
                            Stream o
    Aplicación                                      destino de
                            conexión
                                                      datos
CLASES DE JAVA PARA LA LECTURA Y ESCRITURA DE DATOS

         Los procesos de entrada y salida de datos en el entorno de
desarrollo java se manejan a través de estas 2 clases abstractas:

• InputStream: es la clase contenida en la librería java.io , la cual se
  usa para definir la entrada de datos en una aplicación java.
  Algunas de las clases que emplean directamente el recurso del
  InputStream son:
        - AudioInputStream.
        - FilterInputStream.
        - ObjectInputStream.

• OutputStream: al igual que la clase de entrada de datos
  InputStream esta se encuentra contenida en la librería java.io. Esta
  clase se usa para definir la salida de datos en una aplicación java.
  También cuenta con clases de uso directo como FileOutputStream
  y ByteArrayOutputStream.
ENTRADA Y SALIDA ESTANDAR (TECLADO Y PANTALLA)

         Java tiene en su paquete o librería java.io una serie de
recursos que facilitan el tratamiento de datos en las aplicaciones, en
el caso de la entrada y salida estándar cuenta con:

• System.out: Se reconoce como un flujo de bytes de salida, es usado
para impresiones en pantalla.
• Métodos de impresión de datos:
        - print(), println()
        - flush() , hace un vaciado en el buffer e imprime en pantalla

• System.in: Esta clase se define como un flujo de bytes de entrada,
es usado para leer datos introducidos por teclado.
• Métodos para esta clase
         - read() permite leer un byte de la entrada como entero
         - skip(n ) ignora n bytes de la entrada
         - available() número de bytes disponibles para leer en la
entrada
LECTURA Y ESCRITURA DE ARCHIVOS

• Existen diversas clases para la lectura y escritura de archivos en
  java, las mas eficientes son:

• FileInputStream: esta clase nos permite la escritura de datos en un
  archivo.
• FileOutputStream: esta clase permite la lectura y obtención de
  datos de un archivo

• BufferedReader: esta clase crea un buffer que aumenta la
  eficiencia de lectura de los datos, permite leer una línea y devolver
  ese resultado convertido a string.

• BufferedWriter: esta clase permite la escritura de datos, junto con
  la clase BufferedReader permiten un manejo eficiente de la lectura
  y escritura de datos en archivos a través de java.

Usar las clases de lectura sin los buffered nos daría como resultado
un rendimiento ineficiente de la aplicación con los datos.
SERIALIZACION

         La serializacion de un objeto se refiere a la conversión del
estado actual de ese objeto a bytes, con la finalidad de poder guardar
esa información y de que el programador pueda luego volver a usar
ese objeto en el estado que ha sido guardado.

Un objeto serializable es un objeto que se puede convertir en una
secuencia de bytes. Para que un objeto sea serializable, debe
implementar la interfaz java.io.Serializable. Esta interfaz no define
ningún método. Simplemente se usa para 'marcar' aquellas clases
cuyas instancias pueden ser convertidas a secuencias de bytes (y
posteriormente reconstruídas). Objetos tan comunes como String,
Vector o ArrayList implementan Serializable, de modo que pueden
ser serializados y reconstruidos más tarde.
LECTURA DE UN ARCHIVO EN UN SERVIDOR DE INTERNET

         A diario cuando navegamos e internet estamos leyendo
archivos alojados en servidores de paginas web, ya sean HTML, PHP,
o documentos XML, una infinidad de archivos existentes en la web
puestos a nuestra disposición.
En este caso del lenguaje de programación java, hay un recurso que
nos permite accesar a archivos alojados en servidores de internet a
través de una aplicación java, este recurso es java.net. Este recurso o
paquete nos provee una serie de clases que permiten trabajar con
archivos en la red. Tal es el caso de :

• URI (Uniform Resource Identifier): nos permite identificar un
  recurso.
• URL (Uniform Resource Locator): es el localizador uniforme de
  recursos, proporciona la consistencia de los recursos para
  programar.
• URLConnection: crea un vinculo entre el computador que ejecuta
  la aplicación y el computador que esta brindando los recursos.
JAVA FOUNDATION CLASSES (JFC) Y JAVA 2D

         Las clases Java fundamentales (JFC) son un conjunto
completo de componentes GUI y servicios que simplifican el
desarrollo y despliegue de la calidad comercial de escritorio y las
aplicaciones de Internet / Intranet.
         Los componentes JFC / Swing se pueden dividir en dos
grupos - los que proporcionan mejoras, JFC / Swing versión de los
componentes AWT, y aquellos que son nuevos.

Java 2D

Con Java 2D, los desarrolladores pueden hacer, manipular y
transformar complejas imágenes en 2D y texto. Java 2D permite la
creación de mejor aspecto en componentes y aplicaciones.

Java provee una interfaz cómoda de desarrollo a los programadores.
JAVA MEDIA FRAMEWORK (JMF)

         El API Java Media Framework (JMF) permite audio, video y
otros medios basados ​en el tiempo que se añade a las aplicaciones y
applets Java construidas sobre la tecnología. Este paquete opcional,
que puede capturar, reproducir, arroyo, y convierte los formatos de
medios múltiples, se extiende la Java 2 Platform, Standard Edition
(J2SE) para desarrolladores multimedia, proporcionando un potente
conjunto de herramientas para desarrollar, adicional a eso tecnología
multiplataforma.
JAVA 3D

         El API Java 3D permite la creación de aplicaciones
tridimensionales gráficos y basados ​en Internet miniaplicaciones en
3D. Proporciona construcciones de alto nivel para la creación y
manipulación de la geometría 3D y la construcción de las estructuras
utilizadas en la prestación de esa geometría. Con este software, usted
puede definir de manera eficiente y hacer mundos virtuales muy
grandes.
JAVA BEANS

          JavaBeans tecnología es la arquitectura de componentes
para la plataforma Java 2, Standard Edition (J2SE). Los componentes
JavaBeans (Beans) son programas de software reutilizables que se
pueden desarrollar y ensamblar fácilmente para crear aplicaciones
sofisticadas.
JAVA RMI Y JAVA IDL

         El RMI (Remote Method Invocation) se refiere a una
tecnología que ofrece java para realizar conexiones remotas entre
servidores, todo esto es posible siempre y cuando se usa única y
exclusivamente el entorno de desarrollo java, ofrece una facilidad
increíble en lo que a la conexión de servidores se refiere. Y la
arquitectura de este método esta conformada por 4 capas de
protocolo.

         El IDL (Interface Description Language) es una tecnología
que provee java, que permite la comunicación entre 2 aplicaciones
sin importar el lenguaje en que estén escritas, a diferencia de la
tecnología RMI que solo permite ensamblaje en distribuciones de
java únicamente.
JAVA NATIVE INTERFACE

El JNI (Java Native Interface) se refiere a un framework de
programación, que permite que las aplicaciones de java que se
ejecuten en una maquina virtual pueda comunicarse e
interactuar con otros lenguajes de programación como c++ y
emsamblador.
CONCLUSION

Hasta la fecha el entorno de desarrollo java ha evolucionado a
pasos gigantes, tanto así que ya ofrece desarrollo en 3D, nos
regala una cómoda interface de desarrollo y nos da los recursos
necesarios par desarrollar aplicaciones de alto nivel.

Gracias a la tecnología RMI la conexión de servidores ya no
debería ser un problema, y si contamos aun mas con la
tecnología IDL podemos suponer que la evolución de la
programación en poco tiempo será de gran impacto mundial.
REFERENCIAS BIBLIOGRAFICAS

• http://www.oracle.com/technetwork/java/index-
  140688.html#what_2d

• http://www.oracle.com/technetwork/java/javase/tech/index-
  jsp-140239.html

• http://www.oracle.com/technetwork/java/javase/tech/index-
  jsp-138795.html

• http://docs.oracle.com/javase/1.4.2/docs/api/java/io/OutputStr
  eam.html

• http://docs.oracle.com/javase/1.4.2/docs/api/java/io/InputStrea
  m.html

• Parte de los conceptos de esta presentación han sido
  resultado de la lectura y análisis de artículos y libros, así
  como también recursos de internet y folletos.

Presentación no numerica ii

  • 1.
    REPÚBLICA BOLIVARIANA DEVENEZUELA INSTITUTO UNIVERSITARIO POLITÉCNICO “SANTIAGO MARIÑO” Autor: Ordaz Noriega, Carlos Eduardo C.I: 20.903.710. Porlamar, Enero de 2013
  • 2.
    INTRODUCCION Java es unlenguaje de programación orientado a objetos, multiplataforma lo cual nos permite desarrollar aplicaciones de manera flexible, es decir, sin preocupaciones de que nuestro sistema operativo no reconozca la aplicación. Como todo lenguaje de programación java emplea ciertos métodos, clases y funciones para la lectura y escritura de datos, esta abstracción java la define como flujo de datos, estos flujos se manejan a través de las clases InputStream para la entrada de datos y la clase OutputStream para la salida de datos. Las clases InputStream y OutputStream hacen referencia a todo origen y destino de datos en la aplicación que se esta creando, por ende todos los objetos deben hacer referencia a ellas cuando trabajan con flujos de E/S.
  • 3.
    ENTRADA Y SALIDADE DATOS EN JAVA El manejo de datos de entrada y salida en java se hace a través de clases que emplean el método stream para el tratamiento de los mismos. El stream puede definirse como un puente o conexión entre una aplicación java y la fuente de donde provienen los datos para ser tratados en la aplicación o bien sea el origen de los datos que se tratan en la aplicación. Fuente o Stream o Aplicación destino de conexión datos
  • 4.
    CLASES DE JAVAPARA LA LECTURA Y ESCRITURA DE DATOS Los procesos de entrada y salida de datos en el entorno de desarrollo java se manejan a través de estas 2 clases abstractas: • InputStream: es la clase contenida en la librería java.io , la cual se usa para definir la entrada de datos en una aplicación java. Algunas de las clases que emplean directamente el recurso del InputStream son: - AudioInputStream. - FilterInputStream. - ObjectInputStream. • OutputStream: al igual que la clase de entrada de datos InputStream esta se encuentra contenida en la librería java.io. Esta clase se usa para definir la salida de datos en una aplicación java. También cuenta con clases de uso directo como FileOutputStream y ByteArrayOutputStream.
  • 5.
    ENTRADA Y SALIDAESTANDAR (TECLADO Y PANTALLA) Java tiene en su paquete o librería java.io una serie de recursos que facilitan el tratamiento de datos en las aplicaciones, en el caso de la entrada y salida estándar cuenta con: • System.out: Se reconoce como un flujo de bytes de salida, es usado para impresiones en pantalla. • Métodos de impresión de datos: - print(), println() - flush() , hace un vaciado en el buffer e imprime en pantalla • System.in: Esta clase se define como un flujo de bytes de entrada, es usado para leer datos introducidos por teclado. • Métodos para esta clase - read() permite leer un byte de la entrada como entero - skip(n ) ignora n bytes de la entrada - available() número de bytes disponibles para leer en la entrada
  • 6.
    LECTURA Y ESCRITURADE ARCHIVOS • Existen diversas clases para la lectura y escritura de archivos en java, las mas eficientes son: • FileInputStream: esta clase nos permite la escritura de datos en un archivo. • FileOutputStream: esta clase permite la lectura y obtención de datos de un archivo • BufferedReader: esta clase crea un buffer que aumenta la eficiencia de lectura de los datos, permite leer una línea y devolver ese resultado convertido a string. • BufferedWriter: esta clase permite la escritura de datos, junto con la clase BufferedReader permiten un manejo eficiente de la lectura y escritura de datos en archivos a través de java. Usar las clases de lectura sin los buffered nos daría como resultado un rendimiento ineficiente de la aplicación con los datos.
  • 7.
    SERIALIZACION La serializacion de un objeto se refiere a la conversión del estado actual de ese objeto a bytes, con la finalidad de poder guardar esa información y de que el programador pueda luego volver a usar ese objeto en el estado que ha sido guardado. Un objeto serializable es un objeto que se puede convertir en una secuencia de bytes. Para que un objeto sea serializable, debe implementar la interfaz java.io.Serializable. Esta interfaz no define ningún método. Simplemente se usa para 'marcar' aquellas clases cuyas instancias pueden ser convertidas a secuencias de bytes (y posteriormente reconstruídas). Objetos tan comunes como String, Vector o ArrayList implementan Serializable, de modo que pueden ser serializados y reconstruidos más tarde.
  • 8.
    LECTURA DE UNARCHIVO EN UN SERVIDOR DE INTERNET A diario cuando navegamos e internet estamos leyendo archivos alojados en servidores de paginas web, ya sean HTML, PHP, o documentos XML, una infinidad de archivos existentes en la web puestos a nuestra disposición. En este caso del lenguaje de programación java, hay un recurso que nos permite accesar a archivos alojados en servidores de internet a través de una aplicación java, este recurso es java.net. Este recurso o paquete nos provee una serie de clases que permiten trabajar con archivos en la red. Tal es el caso de : • URI (Uniform Resource Identifier): nos permite identificar un recurso. • URL (Uniform Resource Locator): es el localizador uniforme de recursos, proporciona la consistencia de los recursos para programar. • URLConnection: crea un vinculo entre el computador que ejecuta la aplicación y el computador que esta brindando los recursos.
  • 9.
    JAVA FOUNDATION CLASSES(JFC) Y JAVA 2D Las clases Java fundamentales (JFC) son un conjunto completo de componentes GUI y servicios que simplifican el desarrollo y despliegue de la calidad comercial de escritorio y las aplicaciones de Internet / Intranet. Los componentes JFC / Swing se pueden dividir en dos grupos - los que proporcionan mejoras, JFC / Swing versión de los componentes AWT, y aquellos que son nuevos. Java 2D Con Java 2D, los desarrolladores pueden hacer, manipular y transformar complejas imágenes en 2D y texto. Java 2D permite la creación de mejor aspecto en componentes y aplicaciones. Java provee una interfaz cómoda de desarrollo a los programadores.
  • 10.
    JAVA MEDIA FRAMEWORK(JMF) El API Java Media Framework (JMF) permite audio, video y otros medios basados ​en el tiempo que se añade a las aplicaciones y applets Java construidas sobre la tecnología. Este paquete opcional, que puede capturar, reproducir, arroyo, y convierte los formatos de medios múltiples, se extiende la Java 2 Platform, Standard Edition (J2SE) para desarrolladores multimedia, proporcionando un potente conjunto de herramientas para desarrollar, adicional a eso tecnología multiplataforma.
  • 11.
    JAVA 3D El API Java 3D permite la creación de aplicaciones tridimensionales gráficos y basados ​en Internet miniaplicaciones en 3D. Proporciona construcciones de alto nivel para la creación y manipulación de la geometría 3D y la construcción de las estructuras utilizadas en la prestación de esa geometría. Con este software, usted puede definir de manera eficiente y hacer mundos virtuales muy grandes.
  • 12.
    JAVA BEANS JavaBeans tecnología es la arquitectura de componentes para la plataforma Java 2, Standard Edition (J2SE). Los componentes JavaBeans (Beans) son programas de software reutilizables que se pueden desarrollar y ensamblar fácilmente para crear aplicaciones sofisticadas.
  • 13.
    JAVA RMI YJAVA IDL El RMI (Remote Method Invocation) se refiere a una tecnología que ofrece java para realizar conexiones remotas entre servidores, todo esto es posible siempre y cuando se usa única y exclusivamente el entorno de desarrollo java, ofrece una facilidad increíble en lo que a la conexión de servidores se refiere. Y la arquitectura de este método esta conformada por 4 capas de protocolo. El IDL (Interface Description Language) es una tecnología que provee java, que permite la comunicación entre 2 aplicaciones sin importar el lenguaje en que estén escritas, a diferencia de la tecnología RMI que solo permite ensamblaje en distribuciones de java únicamente.
  • 14.
    JAVA NATIVE INTERFACE ElJNI (Java Native Interface) se refiere a un framework de programación, que permite que las aplicaciones de java que se ejecuten en una maquina virtual pueda comunicarse e interactuar con otros lenguajes de programación como c++ y emsamblador.
  • 15.
    CONCLUSION Hasta la fechael entorno de desarrollo java ha evolucionado a pasos gigantes, tanto así que ya ofrece desarrollo en 3D, nos regala una cómoda interface de desarrollo y nos da los recursos necesarios par desarrollar aplicaciones de alto nivel. Gracias a la tecnología RMI la conexión de servidores ya no debería ser un problema, y si contamos aun mas con la tecnología IDL podemos suponer que la evolución de la programación en poco tiempo será de gran impacto mundial.
  • 16.
    REFERENCIAS BIBLIOGRAFICAS • http://www.oracle.com/technetwork/java/index- 140688.html#what_2d • http://www.oracle.com/technetwork/java/javase/tech/index- jsp-140239.html • http://www.oracle.com/technetwork/java/javase/tech/index- jsp-138795.html • http://docs.oracle.com/javase/1.4.2/docs/api/java/io/OutputStr eam.html • http://docs.oracle.com/javase/1.4.2/docs/api/java/io/InputStrea m.html • Parte de los conceptos de esta presentación han sido resultado de la lectura y análisis de artículos y libros, así como también recursos de internet y folletos.