SlideShare una empresa de Scribd logo
1 de 14
ALVARO CASTILLO

PROGRAMACION NO NUMERICA II

       MODULO: SAIA
INTRODUCCION

        La programación en red siempre ha sido dificultosa, el programador
debía de conocer la mayoría de los detalles de la red, incluyendo el hardware
utilizado, los distintos niveles en que se divide la capa de red, las librerías
necesarias para programar en cada capa, etc.

      Pero, la idea simplemente consiste en obtener información desde otra
máquina, aportada por otra aplicación software. Por lo tanto, de cierto modo se
puede reducir al mero hecho de leer y escribir archivos, con ciertas salvedades.

       Una de las características más importantes de Java es su capacidad y, a
la vez, facilidad para realizar aplicaciones que funcionen en red. La mayoría de
los detalles de implementación a bajo nivel están ocultos y son tratados de
forma transparente por la JVM (Java Virtual Machine).

       Cuando se escriben programas Java que se comunican a través de la
red, se programa en la capa de aplicación haciendo uso las clases del paquete
java.net, cuyas clases describiré a continuación.
1.- Entrada y salida de datos en java
    El programador puede utilizar para la E/S los tres flujos del sistema que están disponibles como campos estáticos de la
clase System: System.in, System.out y System.err:

     static InputStream in flujo de entrada estándar para leer datos de tipo carácter.
     static OutputStream out flujo de salida estándar para escribir mensajes.
     static OutputStream err flujo de salida estándar para escribir mensajes de error.

    Normalmente la entrada estándar está asociada al teclado, y tanto la salida estándar como la salida de error estándar están
asociadas al monitor, pero esto se puede cambiar, redirigiéndolas a ficheros. Tanto out como err son de tipo PrintStream, por tanto
los mensajes de salida normal, como los de error, son mostrados utilizando los métodos print de la clase PrintStream.

     Entrada y Salida con Ficheros

     Las clases FileInputStream y FileOutputStream

        Gran parte de la entrada y salida de los programas se realiza basándose en ficheros y para ello java.io aporta dos clases. Una
    para ficheros de entrada, FileInputStream, y otra para ficheros de salida, FileOutputStream.

         La diferencia entre ficheros de entrada y de salida es fundamental, pues situaciones como intentar leer de un fichero de
    salida o viceversa pueden generar errores. FileOutputStream crea un fichero, salvo que exista y sea de sólo lectura.

    Estas clases aportan tres constructores cada una, dependiendo de la información aportada para identificar el fichero a abrir:

     Un constructor que toma como argumento un String que es el nombre del fichero que se va a abrir.
     Un constructor que toma un objeto de tipo File que se refiere al fichero (ver la clase File).
     Un constructor que toma un objeto de tipo FileDescriptor, que constituye un valor dependiente del sistema de ficheros y que
      describe un fichero abierto.
2.- Clases de java para lectura y escritura
Para lectura (Reader e InputStream)
              Las clases Reader e InputStream son similares aunque se refieren a distintos tipos de datos, lo mismo ocurre con
Writer y OutputStream.
              Por ejemplo, Reader proporciona tres métodos para leer un carácter char o un array de caracteres
                            int read()
                            int read(char buf[])
                            int read(char buf[], int offset, int l en)
              InputStream proporciona métodos similares para leer un byte o un array de bytes.
                            int read()
                            int read(byte buf[])
                            int read(byte buf[], int offset, int l en)
               La primera versión lee un byte como entero del flujo de entrada, devuelve –1 si no hay más datos que leer.
               La segunda versión, lee un array de bytes devolviendo el número de bytes leídos. La tercera versión, lee
también, un array de bytes, pero nos permite especificar, la posición de comienzo del array en la que se empiezan a guardar los
bytes, y el máximo número de bytes que se van a leer.

Para escritura (Writer e OutputStream)
             La clase Writer proporciona tres métodos para escribir un carácter char o un array de caracteres
                            int write(int c)
                            int write(char buf[])
                            int write(char buf[], int offset, int l en)
              La clase OutputStream proporciona métodos similares

                             int write(int c)
                             int write(byte buf[])
                             int write(byte buf[], int offset, int l en)
3.- Entrada y salida estándar

             La entrada y salida estándar son una abstracción que proporciona al programador una
forma unificada de leer y escribir datos desde su programa.

             Proporcionan dos canales únicos de entrada y salida que el programador puede utilizar
en cualquier momento. El programador no sabe y no le preocupa cómo se han introducido los datos
que vienen del canal de entrada estándar, y tampoco le interesa a donde van a parar los datos que
vuelca sobre el canal de salida estándar. En lo que a él concierne, solo está leyendo datos y
mostrando resultados.

               En resumen, la entrada estándar es un canal por el cual un usuario le introduce datos a
un programa. Este canal inicialmente apunta al teclado, pero (y aquí esta lo importante) no tiene
porque ser siempre así. El usuario puede hacer que la entrada estándar apunte a un archivo de datos
o a un micrófono, por ejemplo. Análogamente pasa con la salida estándar. Esta apunta por defecto a
la pantalla, pero un usuario puede manipularla de tal manera que apunte a un archivo, la impresora o
los altavoces. Todo esto está a cargo del usuario.
4.- Lectura y escritura de archivos
      Las clases más relacionadas con la escritura y lectura de archivos (File Input/Output o File I/O) son:

    FileStream, cuyo propósito es lectura y escritura de datos binarios (no de texto legible), a cualquier
     archivo de tipo binario, aunque se puede utilizar para acceder a cualquier tipo de archivo, inclusive los
     de texto.

    StreamReader y StreamWriter, las cuales están diseñadas para lectura y escritura de archivos de
     texto. Estas clases se asumen como de un nivel más alto que FileStream.

   Una observación acerca de la declaración de nombres/rutas de archivos en C#. Usualmente, la ruta de
un archivo contiene el carácter „‟, que en C# se utiliza como carácter de control para símbolos especiales
(como el cambio de línea: „n‟).
   Sin embargo, entendiendo que no es el mismo sentido el que se le quiere dar en la interpretación de
rutas de archivos (por ej: “C:Mis documentosProgramasejemplo.cs”), se utiliza una sintaxis
particular, anteponiendo el símbolo „@‟ antes del string con la ruta del archivo. Es decir:

string ruta archivo = @”C:Temparchivo.txt”;

Esta declaración evita la interpretación de los dos caracteres „‟ como símbolos especiales y el string queda
correctamente inicializado.
5.- Serialización

   Serializar es almacenar objetos de forma permanente (p.e.en un fichero o
    en un flujo de comunicación)
   No es necesario realizar conversiones
   Útil para portabilidad y para compartir objetos entre aplicaciones


                        6.- Lectura de un archivo en un servidor de internet

                              A diferencia de otros lenguajes de programación, java presenta de
                        una forma estándar para todas las plataformas y sistemas operativos, un
                        conjunto de clases que permiten la comunicación entre aplicaciones que se
                        ejecutan en distintos ordenadores. El paquete java.net del API de java
                        incluye las clases necesarias para establecer conexiones, crear servidores,
                        enviar y recibir datos.

                              A través de las clases del paquete java.net, los programas Java
                        pueden utilizar TCP o UDP para comunicarse a través de Internet. Las clases
                        URL, URLConnection, Socket, y SocketServer utilizan TCP para comunicarse
                        a través de la Red. Las clases DatagramPacket y DatagramServer utilizan
                        UDP.
7.-Java Media Framework
      JMF es una API que nos sirve para incluir multimedia en nuestras
aplicaciones de Java, funciona básicamente, recibiendo el contenido multimedia de
alguna fuente, para después procesarlo y entregarlo en alguna salida multimedia.

                                  8.-Java 3D
      El API Java 3D es un interface para escribir programas que muestran e
interactúan con gráficos tridimensionales. Java 3D es una extensión estándar del
JDK 2 de Java. El API Java 3D proporciona una colección de constructores de alto-
nivel para crear y manipular geometrías 3D y estructuras para dibujar esta
geometría. Java 3D proporciona las funciones para creación de imágenes,
visualizaciones, animaciones y programas de aplicaciones gráficas 3D interactivas.

      El API 3D de Java es un árbol de clases Java que sirven como interface para
sistemas de renderizado de gráficos tridimensionales y un sistema de sonido. El
programador trabaja con constructores de alto nivel para crear y manipular
objetos geométricos en 3D. Estos objetos geométricos residen en un universo
virtual, que luego es renderizado. El API está diseñado con flexibilidad para crear
universos virtuales precisos de una amplia variedad de tamaños, desde
astronómicos a subatómicos.
9.- Java Bean


    Un "Java Bean" es un componente utilizado en Java que permite
agrupar funcionalidades para formar parte de una aplicación.
    Se usan para encapsular varios objetos en un único objeto (la vaina o
Bean en inglés), para hacer uso de un solo objeto en lugar de varios más
simples.
    La especificación de JavaBeans de Sun Microsystems los define como
"componentes de software reutilizables que se puedan manipular
visualmente en una herramienta de construcción".
    A pesar de haber muchas semejanzas, los JavaBeans no deben
confundirse con los Enterprise JavaBeans (EJB), una tecnología de
componentes del lado servidor que es parte de Java EE.
10.- RMI y java IDL



       Tanto RMI (Remote Method Invocation) como java IDL (Java Interface Definition
Language) son herramientas para desarrollar aplicaciones distribuidas. Estas
aplicaciones presentan la característica de que una aplicación puede ejecutar funciones
y métodos en varios ordenadores distintos. Utilizando una referencia a un objeto que se
encuentra en un ordenador remoto, es posible ejecutar métodos de ese objeto desde
una aplicación que se ejecuta en un ordenador distinto. RMI y java IDL proporcionan
los mecanismos mediante los cuales los distintos objetos distribuidos se comunican y se
transmiten la información. Son por lo tanto tecnologías que permiten la creación y uso
de objetos distribuidos, esto es, objetos o programas que interactúan en diferentes
plataformas y ordenadores a través de una red.

        RMI es una solución basada íntegramente en java. Incorpora métodos para
localizar los objetos remotos, comunicarse con ellos e incluso enviar un objeto de java,
“por valor”, de un objeto distribuido a otro.

       Java IDL permite la conectividad entre objetos distribuidos utilizando CORBA
(Common Object Request Broker Architecture). CORBA es un estándar para la
interconexión entre objetos distribuidos.
11.- Java Native Interface (JNI)



     JNI es el interface de programación de java para ejecutar código
nativo, es decir código compilado al lenguaje binario propio de una
plataforma o sistema de ordenador. Se incluye en el JDK las
herramientas necesarias para su utilización.

     Permite al código que se ejecuta dentro de la JVM interactuar con
aplicaciones y librerías escritas en otros lenguajes. Incorpora a su vez
las herramientas para ejecutar código java desde aplicaciones
desarrolladas en otros lenguajes.

     El entorno JNI ofrece por lo tanto a los métodos nativos utilizar
objetos de java de igual forma que el código java puede utilizar estos
objetos nativos. Tanto la parte de java como la parte nativa de una
aplicación pueden crear, actualizar y acceder a los objetos
programados en java y compartir dichos objetos.
CONCLUSIONES



      La entrada estándar está asociada al teclado, y tanto la salida estándar como la salida
de error estándar están asociadas al monitor.

     La entrada estándar es un canal por el cual un usuario le introduce datos a un
programa.

     El lenguaje Java fue desarrollado para hacer posible la interconexión a redes de
ordenadores.

     Tanto la parte de java como la parte nativa de una aplicación pueden crear, actualizar y
acceder a los objetos programados en java y compartir dichos objetos.

       RMI y java IDL proporcionan los mecanismos mediante los cuales los distintos objetos
distribuidos se comunican y se transmiten la información.

     . Java 3D proporciona las funciones para creación de imágenes, visualizaciones,
animaciones y programas de aplicaciones gráficas 3D interactivas.

     A pesar de haber muchas semejanzas, los JavaBeans no deben confundirse con los
Enterprise JavaBeans.

     JMF es una API que nos sirve para incluir multimedia en nuestras aplicaciones de Java.
REFERENCIAS


http://es.scribd.com/doc/51830722/206/RMI-Y-JAVA-IDL
http://es.wikipedia.org/wiki/JavaBean
http://es.wikipedia.org/wiki/Java_3D
http://blogdejuls.blogspot.com/2007/04/java-media-framework.html
http://www.javahispano.org/storage/contenidos/serializacion.pdf
http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/archivos/flujos.htm
http://laurel.datsi.fi.upm.es/~rpons/personal/trabajos/lpractico/node22.html
http://www.infor.uva.es/~jvegas/cursos/prog/tema6.html

Más contenido relacionado

La actualidad más candente

Trabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica iiTrabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica iirafaelrojas91
 
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en JavaFlujos de Entrada y Salida en Java
Flujos de Entrada y Salida en JavaIngeniería Nica
 
ENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAGabriel Suarez
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacionMaritere Cruz
 
Flujos y archivo en java
Flujos y archivo en javaFlujos y archivo en java
Flujos y archivo en javaBelen Gonzalez
 
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividadS2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividadLuis Fernando Aguas Bucheli
 
Compiladores informe final
Compiladores informe finalCompiladores informe final
Compiladores informe finalPriscila Morocho
 
Uso de las clases iostream
Uso de las clases iostreamUso de las clases iostream
Uso de las clases iostreamTensor
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorInfomania pro
 
/Media/tom nissim/cursocpp
/Media/tom nissim/cursocpp/Media/tom nissim/cursocpp
/Media/tom nissim/cursocppTom Zambrano
 
Practica 1
Practica 1Practica 1
Practica 1Tensor
 
Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Raul Hernandez Mayo
 

La actualidad más candente (18)

Trabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica iiTrabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica ii
 
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en JavaFlujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
 
ENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVA
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Flujos y archivo en java
Flujos y archivo en javaFlujos y archivo en java
Flujos y archivo en java
 
3. tipos de programas java
3. tipos de programas java3. tipos de programas java
3. tipos de programas java
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividadS2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
 
Compiladores informe final
Compiladores informe finalCompiladores informe final
Compiladores informe final
 
LENGUAJE C++
LENGUAJE C++LENGUAJE C++
LENGUAJE C++
 
Uso de las clases iostream
Uso de las clases iostreamUso de las clases iostream
Uso de las clases iostream
 
TALLER FLEX Y BISON
TALLER FLEX Y BISONTALLER FLEX Y BISON
TALLER FLEX Y BISON
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensamblador
 
Utilización de la clase math
Utilización de la clase mathUtilización de la clase math
Utilización de la clase math
 
Java io
Java ioJava io
Java io
 
/Media/tom nissim/cursocpp
/Media/tom nissim/cursocpp/Media/tom nissim/cursocpp
/Media/tom nissim/cursocpp
 
Practica 1
Practica 1Practica 1
Practica 1
 
Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison
 

Similar a Aplicaciones java

Trabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica IITrabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica IIrafaelrojas91
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica iirolmanpaul
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica iirolmanpaul
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica iirolmanpaul
 
Presentacion aplicaciones en java
Presentacion aplicaciones en javaPresentacion aplicaciones en java
Presentacion aplicaciones en javarsalazar16988
 
No numerica ii
No numerica iiNo numerica ii
No numerica iiJ_cordero
 
Metodos de entrada y Salida
Metodos de entrada y SalidaMetodos de entrada y Salida
Metodos de entrada y SalidaCristian Andres
 
Nuevo presentación de microsoft office power point
Nuevo presentación de microsoft office power pointNuevo presentación de microsoft office power point
Nuevo presentación de microsoft office power pointJ_cordero
 
Presentacion luis silva aplicaciones java
Presentacion luis silva aplicaciones javaPresentacion luis silva aplicaciones java
Presentacion luis silva aplicaciones javaLuisFeSilva
 
Presentación no numerica ii
Presentación no numerica iiPresentación no numerica ii
Presentación no numerica iiCarlos Ordaz
 
presentacion de Aplicaciones de Java
presentacion de Aplicaciones de Javapresentacion de Aplicaciones de Java
presentacion de Aplicaciones de Javaingyon
 
Presentacion de ruby
Presentacion de rubyPresentacion de ruby
Presentacion de rubyKarlytozdj
 
investigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasinvestigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasAnel Sosa
 
Entrada y salida de datos en java
Entrada y salida de datos en javaEntrada y salida de datos en java
Entrada y salida de datos en javatensanti
 
Entrada y Salida de datos en Java
Entrada y Salida de datos en JavaEntrada y Salida de datos en Java
Entrada y Salida de datos en Javakunno10
 
Presentación aplicaciones en java.
Presentación aplicaciones en java.Presentación aplicaciones en java.
Presentación aplicaciones en java.PedroJBM
 

Similar a Aplicaciones java (20)

Aplicaciones java
Aplicaciones javaAplicaciones java
Aplicaciones java
 
Trabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica IITrabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica II
 
ARCHIVOS
ARCHIVOS ARCHIVOS
ARCHIVOS
 
Java
JavaJava
Java
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica ii
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica ii
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica ii
 
Presentacion aplicaciones en java
Presentacion aplicaciones en javaPresentacion aplicaciones en java
Presentacion aplicaciones en java
 
No numerica ii
No numerica iiNo numerica ii
No numerica ii
 
Metodos de entrada y Salida
Metodos de entrada y SalidaMetodos de entrada y Salida
Metodos de entrada y Salida
 
Nuevo presentación de microsoft office power point
Nuevo presentación de microsoft office power pointNuevo presentación de microsoft office power point
Nuevo presentación de microsoft office power point
 
Presentacion luis silva aplicaciones java
Presentacion luis silva aplicaciones javaPresentacion luis silva aplicaciones java
Presentacion luis silva aplicaciones java
 
Presentación no numerica ii
Presentación no numerica iiPresentación no numerica ii
Presentación no numerica ii
 
presentacion de Aplicaciones de Java
presentacion de Aplicaciones de Javapresentacion de Aplicaciones de Java
presentacion de Aplicaciones de Java
 
Sockets java
Sockets javaSockets java
Sockets java
 
Presentacion de ruby
Presentacion de rubyPresentacion de ruby
Presentacion de ruby
 
investigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasinvestigacion unidad tres componentes y librerias
investigacion unidad tres componentes y librerias
 
Entrada y salida de datos en java
Entrada y salida de datos en javaEntrada y salida de datos en java
Entrada y salida de datos en java
 
Entrada y Salida de datos en Java
Entrada y Salida de datos en JavaEntrada y Salida de datos en Java
Entrada y Salida de datos en Java
 
Presentación aplicaciones en java.
Presentación aplicaciones en java.Presentación aplicaciones en java.
Presentación aplicaciones en java.
 

Aplicaciones java

  • 1. ALVARO CASTILLO PROGRAMACION NO NUMERICA II MODULO: SAIA
  • 2.
  • 3. INTRODUCCION La programación en red siempre ha sido dificultosa, el programador debía de conocer la mayoría de los detalles de la red, incluyendo el hardware utilizado, los distintos niveles en que se divide la capa de red, las librerías necesarias para programar en cada capa, etc. Pero, la idea simplemente consiste en obtener información desde otra máquina, aportada por otra aplicación software. Por lo tanto, de cierto modo se puede reducir al mero hecho de leer y escribir archivos, con ciertas salvedades. Una de las características más importantes de Java es su capacidad y, a la vez, facilidad para realizar aplicaciones que funcionen en red. La mayoría de los detalles de implementación a bajo nivel están ocultos y son tratados de forma transparente por la JVM (Java Virtual Machine). Cuando se escriben programas Java que se comunican a través de la red, se programa en la capa de aplicación haciendo uso las clases del paquete java.net, cuyas clases describiré a continuación.
  • 4. 1.- Entrada y salida de datos en java El programador puede utilizar para la E/S los tres flujos del sistema que están disponibles como campos estáticos de la clase System: System.in, System.out y System.err:  static InputStream in flujo de entrada estándar para leer datos de tipo carácter.  static OutputStream out flujo de salida estándar para escribir mensajes.  static OutputStream err flujo de salida estándar para escribir mensajes de error. Normalmente la entrada estándar está asociada al teclado, y tanto la salida estándar como la salida de error estándar están asociadas al monitor, pero esto se puede cambiar, redirigiéndolas a ficheros. Tanto out como err son de tipo PrintStream, por tanto los mensajes de salida normal, como los de error, son mostrados utilizando los métodos print de la clase PrintStream.  Entrada y Salida con Ficheros  Las clases FileInputStream y FileOutputStream Gran parte de la entrada y salida de los programas se realiza basándose en ficheros y para ello java.io aporta dos clases. Una para ficheros de entrada, FileInputStream, y otra para ficheros de salida, FileOutputStream. La diferencia entre ficheros de entrada y de salida es fundamental, pues situaciones como intentar leer de un fichero de salida o viceversa pueden generar errores. FileOutputStream crea un fichero, salvo que exista y sea de sólo lectura. Estas clases aportan tres constructores cada una, dependiendo de la información aportada para identificar el fichero a abrir:  Un constructor que toma como argumento un String que es el nombre del fichero que se va a abrir.  Un constructor que toma un objeto de tipo File que se refiere al fichero (ver la clase File).  Un constructor que toma un objeto de tipo FileDescriptor, que constituye un valor dependiente del sistema de ficheros y que describe un fichero abierto.
  • 5. 2.- Clases de java para lectura y escritura Para lectura (Reader e InputStream) Las clases Reader e InputStream son similares aunque se refieren a distintos tipos de datos, lo mismo ocurre con Writer y OutputStream. Por ejemplo, Reader proporciona tres métodos para leer un carácter char o un array de caracteres int read() int read(char buf[]) int read(char buf[], int offset, int l en) InputStream proporciona métodos similares para leer un byte o un array de bytes. int read() int read(byte buf[]) int read(byte buf[], int offset, int l en) La primera versión lee un byte como entero del flujo de entrada, devuelve –1 si no hay más datos que leer. La segunda versión, lee un array de bytes devolviendo el número de bytes leídos. La tercera versión, lee también, un array de bytes, pero nos permite especificar, la posición de comienzo del array en la que se empiezan a guardar los bytes, y el máximo número de bytes que se van a leer. Para escritura (Writer e OutputStream) La clase Writer proporciona tres métodos para escribir un carácter char o un array de caracteres int write(int c) int write(char buf[]) int write(char buf[], int offset, int l en) La clase OutputStream proporciona métodos similares int write(int c) int write(byte buf[]) int write(byte buf[], int offset, int l en)
  • 6. 3.- Entrada y salida estándar La entrada y salida estándar son una abstracción que proporciona al programador una forma unificada de leer y escribir datos desde su programa. Proporcionan dos canales únicos de entrada y salida que el programador puede utilizar en cualquier momento. El programador no sabe y no le preocupa cómo se han introducido los datos que vienen del canal de entrada estándar, y tampoco le interesa a donde van a parar los datos que vuelca sobre el canal de salida estándar. En lo que a él concierne, solo está leyendo datos y mostrando resultados. En resumen, la entrada estándar es un canal por el cual un usuario le introduce datos a un programa. Este canal inicialmente apunta al teclado, pero (y aquí esta lo importante) no tiene porque ser siempre así. El usuario puede hacer que la entrada estándar apunte a un archivo de datos o a un micrófono, por ejemplo. Análogamente pasa con la salida estándar. Esta apunta por defecto a la pantalla, pero un usuario puede manipularla de tal manera que apunte a un archivo, la impresora o los altavoces. Todo esto está a cargo del usuario.
  • 7. 4.- Lectura y escritura de archivos Las clases más relacionadas con la escritura y lectura de archivos (File Input/Output o File I/O) son:  FileStream, cuyo propósito es lectura y escritura de datos binarios (no de texto legible), a cualquier archivo de tipo binario, aunque se puede utilizar para acceder a cualquier tipo de archivo, inclusive los de texto.  StreamReader y StreamWriter, las cuales están diseñadas para lectura y escritura de archivos de texto. Estas clases se asumen como de un nivel más alto que FileStream. Una observación acerca de la declaración de nombres/rutas de archivos en C#. Usualmente, la ruta de un archivo contiene el carácter „‟, que en C# se utiliza como carácter de control para símbolos especiales (como el cambio de línea: „n‟). Sin embargo, entendiendo que no es el mismo sentido el que se le quiere dar en la interpretación de rutas de archivos (por ej: “C:Mis documentosProgramasejemplo.cs”), se utiliza una sintaxis particular, anteponiendo el símbolo „@‟ antes del string con la ruta del archivo. Es decir: string ruta archivo = @”C:Temparchivo.txt”; Esta declaración evita la interpretación de los dos caracteres „‟ como símbolos especiales y el string queda correctamente inicializado.
  • 8. 5.- Serialización  Serializar es almacenar objetos de forma permanente (p.e.en un fichero o en un flujo de comunicación)  No es necesario realizar conversiones  Útil para portabilidad y para compartir objetos entre aplicaciones 6.- Lectura de un archivo en un servidor de internet A diferencia de otros lenguajes de programación, java presenta de una forma estándar para todas las plataformas y sistemas operativos, un conjunto de clases que permiten la comunicación entre aplicaciones que se ejecutan en distintos ordenadores. El paquete java.net del API de java incluye las clases necesarias para establecer conexiones, crear servidores, enviar y recibir datos. A través de las clases del paquete java.net, los programas Java pueden utilizar TCP o UDP para comunicarse a través de Internet. Las clases URL, URLConnection, Socket, y SocketServer utilizan TCP para comunicarse a través de la Red. Las clases DatagramPacket y DatagramServer utilizan UDP.
  • 9. 7.-Java Media Framework JMF es una API que nos sirve para incluir multimedia en nuestras aplicaciones de Java, funciona básicamente, recibiendo el contenido multimedia de alguna fuente, para después procesarlo y entregarlo en alguna salida multimedia. 8.-Java 3D El API Java 3D es un interface para escribir programas que muestran e interactúan con gráficos tridimensionales. Java 3D es una extensión estándar del JDK 2 de Java. El API Java 3D proporciona una colección de constructores de alto- nivel para crear y manipular geometrías 3D y estructuras para dibujar esta geometría. Java 3D proporciona las funciones para creación de imágenes, visualizaciones, animaciones y programas de aplicaciones gráficas 3D interactivas. El API 3D de Java es un árbol de clases Java que sirven como interface para sistemas de renderizado de gráficos tridimensionales y un sistema de sonido. El programador trabaja con constructores de alto nivel para crear y manipular objetos geométricos en 3D. Estos objetos geométricos residen en un universo virtual, que luego es renderizado. El API está diseñado con flexibilidad para crear universos virtuales precisos de una amplia variedad de tamaños, desde astronómicos a subatómicos.
  • 10. 9.- Java Bean Un "Java Bean" es un componente utilizado en Java que permite agrupar funcionalidades para formar parte de una aplicación. Se usan para encapsular varios objetos en un único objeto (la vaina o Bean en inglés), para hacer uso de un solo objeto en lugar de varios más simples. La especificación de JavaBeans de Sun Microsystems los define como "componentes de software reutilizables que se puedan manipular visualmente en una herramienta de construcción". A pesar de haber muchas semejanzas, los JavaBeans no deben confundirse con los Enterprise JavaBeans (EJB), una tecnología de componentes del lado servidor que es parte de Java EE.
  • 11. 10.- RMI y java IDL Tanto RMI (Remote Method Invocation) como java IDL (Java Interface Definition Language) son herramientas para desarrollar aplicaciones distribuidas. Estas aplicaciones presentan la característica de que una aplicación puede ejecutar funciones y métodos en varios ordenadores distintos. Utilizando una referencia a un objeto que se encuentra en un ordenador remoto, es posible ejecutar métodos de ese objeto desde una aplicación que se ejecuta en un ordenador distinto. RMI y java IDL proporcionan los mecanismos mediante los cuales los distintos objetos distribuidos se comunican y se transmiten la información. Son por lo tanto tecnologías que permiten la creación y uso de objetos distribuidos, esto es, objetos o programas que interactúan en diferentes plataformas y ordenadores a través de una red. RMI es una solución basada íntegramente en java. Incorpora métodos para localizar los objetos remotos, comunicarse con ellos e incluso enviar un objeto de java, “por valor”, de un objeto distribuido a otro. Java IDL permite la conectividad entre objetos distribuidos utilizando CORBA (Common Object Request Broker Architecture). CORBA es un estándar para la interconexión entre objetos distribuidos.
  • 12. 11.- Java Native Interface (JNI) JNI es el interface de programación de java para ejecutar código nativo, es decir código compilado al lenguaje binario propio de una plataforma o sistema de ordenador. Se incluye en el JDK las herramientas necesarias para su utilización. Permite al código que se ejecuta dentro de la JVM interactuar con aplicaciones y librerías escritas en otros lenguajes. Incorpora a su vez las herramientas para ejecutar código java desde aplicaciones desarrolladas en otros lenguajes. El entorno JNI ofrece por lo tanto a los métodos nativos utilizar objetos de java de igual forma que el código java puede utilizar estos objetos nativos. Tanto la parte de java como la parte nativa de una aplicación pueden crear, actualizar y acceder a los objetos programados en java y compartir dichos objetos.
  • 13. CONCLUSIONES La entrada estándar está asociada al teclado, y tanto la salida estándar como la salida de error estándar están asociadas al monitor. La entrada estándar es un canal por el cual un usuario le introduce datos a un programa. El lenguaje Java fue desarrollado para hacer posible la interconexión a redes de ordenadores. Tanto la parte de java como la parte nativa de una aplicación pueden crear, actualizar y acceder a los objetos programados en java y compartir dichos objetos. RMI y java IDL proporcionan los mecanismos mediante los cuales los distintos objetos distribuidos se comunican y se transmiten la información. . Java 3D proporciona las funciones para creación de imágenes, visualizaciones, animaciones y programas de aplicaciones gráficas 3D interactivas. A pesar de haber muchas semejanzas, los JavaBeans no deben confundirse con los Enterprise JavaBeans. JMF es una API que nos sirve para incluir multimedia en nuestras aplicaciones de Java.