Java IO - Streams. OutputStream os = new OutputStream(); Departamento de Matemáticas y Computación Grado en Informática Programación de Bases de Datos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Java IO - Streams. OutputStream os = new OutputStream(); Departamento de Matemáticas y Computación Grado en Informática Programación de Bases de Datos"

Transcripción

1 Java IO - Streams OutputStream os = new OutputStream(); JDBC por Francisco J. García Izquierdo. Universidad de la Rioja. Departamento de Matemáticas y Computación. se encuentra bajo una Licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Unported. Departamento de Matemáticas y Computación Grado en Informática Programación de Bases de Datos

2 Agenda Introducción Salida (Out ) Filtros de salida Entrada (Input ) Filtros de entrada Readers y Writers Clase File Grado en Informática Programación de Bases de datos 2 Francisco J. García Izquierdo

3 Agenda Introducción Salida (Out ) Filtros de salida Entrada (Input ) Filtros de entrada Readers y Writers Clase File Grado en Informática Programación de Bases de datos 3 Francisco J. García Izquierdo

4 Justificación Vamos a utilizar Java como lenguaje de programación de la asignatura Una de las características intrínsecas de los sistemas distribuidos: computadores conectados que se intercambian mensajes Las conexiones de red en Java son tratadas como streams (como si fuesen ficheros) A través de esos streams se envían y reciben los mensajes (como si grabásemos o leyésemos ficheros) Además la información intercambiada entre los nodos estará, en muchas ocasiones, almacenada en ficheros. Es imprescindible un dominio de los APIs de entrada/salida de Java Grado en Informática Programación de Bases de datos 4 Francisco J. García Izquierdo

5 Streams La E/S de Java se realiza a través de flujos (streams). Secuencia ordenada de bytes Estos pueden ser de entrada (InputStream) o de salida (OutputStream). Independizan a los objetos de origen/destino de los datos. Las clases de E/S se encuentran en el paquete java.io. Los métodos de OutputStream (y también de InputStream) lanzan la excepción IOException ante cualquier fallo relacionado con el intento de escritura o lectura Grado en Informática Programación de Bases de datos 5 Francisco J. García Izquierdo

6 Agenda Introducción Salida (Out ) Filtros de salida Entrada (Input ) Filtros de entrada Readers y Writers Clase File Grado en Informática Programación de Bases de datos 6 Francisco J. García Izquierdo

7 La clase OutputStream Clase abstracta de la que derivan los demás flujos de salida. Fundamentalmente ofrece los siguientes servicios: public abstract void write(int b) throws IOException public void write(byte b[]) throws IOException public void write(byte b[], int off, int len) throws IOException public void flush() throws IOException public void close() throws IOException Como OutputStream es una clase abstracta. Dónde se envía un byte que se escribe a través de un OutputStream? Dependerá del tipo del stream. Hay varias clases que derivan de OutputStream y redefinen el método write para darle una implementación distinta: FileOutputStream ByteArrayOutputStream PipedOutputStream sun.net.telnetoutputstream Grado en Informática Programación de Bases de datos 7 Francisco J. García Izquierdo

8 Grado en Informática Programación de Bases de datos 8 Francisco J. García Izquierdo

9 FileOutputStream El FileOutputStream redefine el método write para enviar el byte a un fichero. FileOutputStream f; f = new FileOutputStream( Datos.dat ); for (int i = 0; i < 100; i++) f.write(i); f.close(); Véanse los constructores disponibles en la ayuda de Java. Grado en Informática Programación de Bases de datos 9 Francisco J. García Izquierdo

10 ByteArrayOutputStream El ByteArrayOutputStream redefine el método write para enviar el byte a un array dinámico (en memoria). Añade los métodos: public byte[] tobytearray() public int size() Ejemplo ByteArrayOutputStream ba; ba = new ByteArrayOutputStream(); for (int i = 0; i < 100; i++) ba.write(i); ba.close(); // Con ba.tobytearray() accedemos al array // con los bytes escritos Grado en Informática Programación de Bases de datos 10 Francisco J. García Izquierdo

11 Agenda Introducción Salida (Out ) Filtros de salida Entrada (Input ) Filtros de entrada Readers y Writers Clase File Grado en Informática Programación de Bases de datos 11 Francisco J. García Izquierdo

12 FilterOutputStream Un filtro de salida es un OutputStream al cual se le asocia en su constructor otro OutputStream (patrón Decorator) Los filtros reenvían toda la información que reciben a su OutputStream asociado, previa realización de algún tipo de transformación en la misma. De esta manera cada filtro añade una funcionalidad adicional al OutputStream que encapsula. Se pueden encadenar varios filtros para obtener varias funcionalidades combinadas. Grado en Informática Programación de Bases de datos 12 Francisco J. García Izquierdo

13 OutputStream +f lush:v oid +write:v oid +close:v oid FileOutputStream ByteArrayOutputStream PipedOutputStream TelnetOutputStream FilterOutputStream GZIPOutputStream DataOutputStream PrintStream BufferedOutputStream Grado en Informática Programación de Bases de datos 13 Francisco J. García Izquierdo

14 Composición de filtros OutputStream out = GZIPOutputStream new GZIPOutputStream( CipherOutputStream BufferedOutputStream new CipherOutputStream( FileOutputStream new FileOutputStream( f.txt ) ) ; Grado en Informática Programación de Bases de datos 14 Francisco J. García Izquierdo

15 Filtro DataOutputStream Los métodos de la clase OutputStream solo permiten enviar bytes. Cualquier otro tipo deberán descomponerse en una secuencia de bytes antes de poder escribirse. FileOutputStream out = new FileOutputStream( datos.dat ); int i; out.write((i >>> 24) & 0xFF); out.write((i >>> 16) & 0xFF); out.write((i >>> 8) & 0xFF); out.write((i >>> 0) & 0xFF); // Idem para String, float, etc. Grado en Informática Programación de Bases de datos 15 Francisco J. García Izquierdo

16 Filtro DataOutputStream La clase DataOutputStream añade la funcionalidad de poder enviar todos los tipos primitivos directamente. void writebytes(string s) throws IOException void writeboolean(boolean v) throws IOException void writeshort(int v) throws IOException void writechar(int v) throws IOException void writeint(int v) throws IOException void writelong(long v) throws IOException void writefloat(float v) throws IOException void writedouble(double v) throws IOException void writechars(string s) throws IOException Grado en Informática Programación de Bases de datos 16 Francisco J. García Izquierdo

17 Filtro DataOutputStream DataOutputStream dos; dos = new DataOutputStream(new FileOutputStream( A )); dos.writeint(i); dos.writedouble(3.14); dos.writechars( Hola ); dos.close(); // Se cierra también el socio Grado en Informática Programación de Bases de datos 17 Francisco J. García Izquierdo

18 Filtro PrintStream La clase PrintStream añade la funcionalidad de poder enviar todos los tipos primitivos en formato texto. Ofrece los métodos print y println sobrecargados para todos los tipos primitivos. System.out es de tipo PrintStream PrintStream ps; ps = new PrintStream(new FileOutputStream( A )); ps.println(1); ps.println(3.14); ps.println( Hola ); ps.close(); // Se cierra también el socio Grado en Informática Programación de Bases de datos 18 Francisco J. García Izquierdo

19 Combinación La forma más habitual de usar un OutputStream será combinando varios filtros. DataOutputStream dos; dos = new DataOutputStream( new FileOutputStream( A ) ); // Se transforma: DataOutput dos.writeint(i); dos.writedouble(3.14); dos.writechars( Hola ); // Se vuelca: File dos.close(); // Se cierran todos Grado en Informática Programación de Bases de datos 19 Francisco J. García Izquierdo

20 Uso de OutputStreams Qué se puede comentar sobre la siguiente clase? class class Persona Persona { { private private String String nombre; nombre; private private int int edad; edad; Persona Persona (String (String nombre, nombre, int int edad) edad) { { this.nombre this.nombre = nombre; = nombre; this.edad this.edad = edad; = edad; } } } public public void void escribe(fileoutputstream write(fileoutputstream f) throws IOExcepcion { DataOutputStream dos; dos; dos dos = new = new DataOutputStream(f); dos.writechars(nombre); dos.writeutf(nombre); dos.writeint(edad); } } } Grado en Informática Programación de Bases de datos 20 Francisco J. García Izquierdo

21 Uso de OutputStreams public static void main(string args[]) { Persona[] v = new Persona[100]; for (int i = 0; i < v.length; i++) v[i] = new Persona( Pepe + i, i); FileOutputStream f = new FileOutputStream( Personas.dat ); for (int i = 0; i < v.length; i++) v[i].escribe(f); } f.close(); Grado en Informática Programación de Bases de datos 21 Francisco J. García Izquierdo

22 Agenda Introducción Salida (Out ) Filtros de salida Entrada (Input ) Filtros de entrada Readers y Writers Clase File Grado en Informática Programación de Bases de datos 22 Francisco J. García Izquierdo

23 Clase InputStream Clase abstracta de la que derivan los demás flujos de entrada. Fundamentalmente ofrece los siguientes servicios: public abstract int read() throws IOException public int read(byte b[]) throws IOException public int read(byte b[], int off, int len) ) throws IOException public int available() throws IOException public void close() throws IOException InputStream es una clase abstracta. De dónde se recibe el byte que se lee a través de un InputStream? Dependerá del tipo del stream. Hay varias clases que derivan de InputStream y redefinen el método read para darle una implementación distinta: FileInputStream. ByteArrayInputStream. StringInputStream. SequenceInputStream. PipedInputStream. TelnetInputStream Grado en Informática Programación de Bases de datos 23 Francisco J. García Izquierdo

24 FileInputStream El FileInputStream redefine el método read para leer el byte de un fichero. FileInputStream f; f = new FileInputStream( Datos.dat ); int dato; while ((dato = f.read())!= -1) System.out.println(dato); f.close(); Grado en Informática Programación de Bases de datos 24 Francisco J. García Izquierdo

25 Lectura por bloques InputStream is =...; OutputStream os =...; byte buff[] = new byte[buffsize]; int leidos = is.read(buff); while (leidos!= -1) { os.write(buff); leidos = is.read(buff); } os.close(); InputStream is =...; OutputStream os =...; byte buff[] = new byte[buffsize]; int leidos = is.read(buff); while (leidos!= -1) { os.write(buff, 0, leidos); leidos = is.read(buff); } os.close(); Grado en Informática Programación de Bases de datos 25 Francisco J. García Izquierdo

26 ByteArrayInputStream El ByteArrayInputStream redefine el método read para leer el byte de un array que se le pase en el constructor. Ejemplo byte[] v = new byte[1024]; for (int i = 0; i < v.length; i++) byte[] v = new byte[1024]; for (int i 0; i < v.length; i++) v[i] v[i] = i = * 2; i * 2; ByteArrayInputStream ba; ba = new ByteArrayInputStream(v); ByteArrayInputStream ba; ba = new ByteArrayInputStream(v); int int dato; dato; while ((dato = ba.read())!= -1) System.out.println(dato); while ((dato = ba.read())!= -1) System.out.println(dato); ba.close(); ba.close(); Grado en Informática Programación de Bases de datos 26 Francisco J. García Izquierdo

27 StringInputStream El StringInputStream redefine el método read para leer el siguiente carácter de una cadena que se le pase en el constructor. Sirve para tratar un String como si fuese un stream Ejemplo StringInputStream ba; ba = new StringInputStream( Hola ); StringInputStream ba; ba = new StringInputStream( Hola ); int int dato; dato; while ((dato = ba.read())!= -1) System.out.println(dato); while ((dato = ba.read())!= -1) System.out.println(dato); ba.close(); ba.close(); Grado en Informática Programación de Bases de datos 27 Francisco J. García Izquierdo

28 SequenceInputStream Cuando se tienen varios InputStreams que se desean procesar seguidos se pueden concatenar mediante un SequenceInputStream. De esta manera aparecen como un único InputStream continuo. FileInputStream f1, f2; f1 = new FileInputStream( Datos1.dat ); f2 = new FileInputStream( Datos2.dat ); FileInputStream f1, f2; f1 = new FileInputStream( Datos1.dat ); f2 = new FileInputStream( Datos2.dat ); SequenceInputStream sis; SequenceInputStream sis; sis = new SequenceInputStream(f1, f2); sis = new SequenceInputStream(f1, f2); int dato; while int ((dato dato; = sis.read())!= -1) System.out.println(dato); while ((dato = sis.read())!= -1) System.out.println(dato); sis.close(); sis.close(); Grado en Informática Programación de Bases de datos 28 Francisco J. García Izquierdo

29 Agenda Introducción Salida (Out ) Filtros de salida Entrada (Input ) Filtros de entrada Readers y Writers Clase File Grado en Informática Programación de Bases de datos 29 Francisco J. García Izquierdo

30 FilterInputStream Un filtro de entrada es un InputStream al cual se le asocia en su constructor otro InputStream. Los filtros devuelven la información que a su vez han leído de su InputStream asociado, previa realización de algún tipo de transformación en la misma. De esta manera cada filtro añade una funcionalidad adicional al InputStream básico. Se pueden encadenar varios filtros para obtener varias funcionalidades combinadas. Grado en Informática Programación de Bases de datos 30 Francisco J. García Izquierdo

31 Filtro DataInputStream Los métodos de la clase InputStream solo permiten leer bytes. Cualquier otro tipo deberán leerse como una secuencia de bytes y recomponerse antes de poder utilizarse. FileInputStream in = in new = new FileInputStream( datos.dat ); int int ch1 ch1 = in.read(); = in.read(); int int ch2 ch2 = in.read(); = in.read(); int int ch3 ch3 = in.read(); = in.read(); int int ch4 ch4 = in.read(); = in.read(); if ((ch1 if ((ch1 ch2 ch2 ch3 ch3 ch4) ch4) < 0) < 0) throw throw new new EOFException(); int int i = i ((ch1 = ((ch1 << 24) << 24) + (ch2 + (ch2 << 16) << 16) + (ch3 + (ch3 << 8) << + 8) (ch4 + (ch4 << 0)); << 0)); // Idem // Idem para para String, String, float, float, etc. etc. Grado en Informática Programación de Bases de datos 31 Francisco J. García Izquierdo

32 Filtro DataInputStream La clase DataInputStream añade la funcionalidad de poder leer todos los tipos primitivos directamente. readboolean() readchar readbyte() readshort() readint() readlong() readfloat() readdouble() readline() readfully(byte[] b) Grado en Informática Programación de Bases de datos 32 Francisco J. García Izquierdo

33 Filtro DataInputStream DataInputStream dis; dis; dis dis = = new new DataInputStream(new FileInputStream( A )); int int i i = = dis.readint(); double double d d = = dis.readdouble(); String String s s = = dis.readline(); dis.close(); dis.close(); // // Se Se cierra cierra también también el el socio socio El final del stream se detecta: readline() devuelve null El resto de métodos lanza EOFException Grado en Informática Programación de Bases de datos 33 Francisco J. García Izquierdo

34 Lectura de ficheros de texto Esquema típico usando un DataInputStream DataInputStream dis = new DataInputStream(...); String linea; while ( (linea = dis.readline())!= null) { } // Hacer algo con linea O con BufferedReader (luego hablaremos de la diferencia) BufferedReader br = new BufferedReader (...); String linea; while ( (linea = br.readline())!= null) { } // Hacer algo con linea Grado en Informática Programación de Bases de datos 34 Francisco J. García Izquierdo

35 Combinación La forma más habitual de usar un InputStream será combinando varios filtros. DataInputStream dis; dis = new DataInputStream( new FileInputStream( A ) ); int i = dis.readint(); double d = dis.readdouble(); String s = dis.readline(); dis.close(); // Se cierra también el socio Grado en Informática Programación de Bases de datos 35 Francisco J. García Izquierdo

36 Uso de InputStreams Qué se puede comentar sobre la siguiente clase? public class Persona { private String nombre; private int edad; public Persona (String nombre, int edad) { this.nombre = nombre; this.edad = edad; } } public void lee(fileinputstream f) throws IOException { DataInputStream dis; dis = new DataInputStream(f); nombre = dis.readutf(); edad = dis.readint(); } Grado en Informática Programación de Bases de datos 36 Francisco J. García Izquierdo

37 Agenda Introducción Salida (Out ) Filtros de salida Entrada (Input ) Filtros de entrada Readers y Writers Clase File Grado en Informática Programación de Bases de datos 37 Francisco J. García Izquierdo

38 Readers y Writers Los streams están orientados a la E/S de bytes Los Readers y los Writers están orientados a la E/S de caracteres. Tenemos la mala costumbre de asumir que todo el texto es ASCII (en este caso hay equivalencia entre byte y char) Pero no en todas las partes del mundo pasa eso. Su existencia se justifica por la necesidad de escribir caracteres en distintos juegos de caracteres y así facilitar la internacionalización Existe una jerarquía paralela entre Readers e InputStreams (y Writers y OutputStreams). Ej: FileInputStream FileReader. Para convertir un InputStream en un Reader existe InputStreamReader (y para writers OutputStreamWriter) La recomendación es que siempre que se vaya a escribir texto se escriba con Writer. Grado en Informática Programación de Bases de datos 38 Francisco J. García Izquierdo

39 Sobre codificación de caracteres Internamente los caracteres en Java se codifican en Unicode (siempre 2 bytes por carácter) a es el carácter 97 (0x0061 ó \u0061), á el 225 (0x00E1); el 8364 (0x20AC). Cuando los caracteres se escriben en un writer se usa un determinado encoding para ello Encoding: correspondencia entre caracteres Unicode y bytes usados para representar ese carácter xej. en un fichero. El encoding depende de la región del mundo Nosotros usamos Latin1 (ISO ) o Windows 1252 (o Cp-1252) Un byte por carácter (solo se puede escribir 256, menos que los caracteres Unicode) Si un carácter no existe se escribe? Ejemplo: a es el byte 0x61, el á es el 0xE1; el es el 0x80 (en Cp-1252) Universalmente se puede usar UTF-8 Número variable de bytes por carácter Ej.: a es el byte 0x61, á un par de bytes 0xC3 0xA1; tres bytes 0xE2 0x82 0xAC Al leer los bytes, para transformarlos en caracteres, hay que usar el mismo encoding. Si no se puede leer basura Si escribo en UTF-8 el á, y leo en ISO , leeré Ã Si no se indica nada se escoge el encoding por defecto (en Windows el ISO , o Cp-1252; en Linux el UTF-8) Cuando se escribe/lee un String en/a un Output/InputStream se está usando el encoding por defecto Grado en Informática Programación de Bases de datos 39 Francisco J. García Izquierdo

40 Lectura de ficheros de texto Esquema típico usando un DataInputStream DataInputStream dis = new DataInputStream(...); String linea; while ( (linea = dis.readline())!= null) { } // Hacer algo con linea O con BufferedReader En Windows no dará problemas, pero sí en Linux BufferedReader br = new BufferedReader (...); String linea; while ( (linea = br.readline())!= null) { // Hacer algo con linea } Grado en Informática Programación de Bases de datos 40 Francisco J. García Izquierdo

41 Agenda Introducción Salida (Out ) Filtros de salida Entrada (Input ) Filtros de entrada Readers y Writers Clase File Grado en Informática Programación de Bases de datos 41 Francisco J. García Izquierdo

42 Clase File Los objetos de la clase File representan ficheros en un sistema de ficheros Sólo los representan No se escribe ni lee en los fichero a través de un File Puede que el fichero final ni siquiera exista (exists() ) Sirven también para directorios Permite obtener el contenido del directorio (list()) Permiten crear directorios (mkdir(), mkdirs()) Permiten acceder a propiedades sobre el fichero: tamaño (length()), solo lectura (canwrite()), fecha de modificación (lastmodified()), nombre completo (getabsolutepath()), Permiten realizar operaciones de destrucción y movimiento de ficheros: renameto(file dest), delete(), deleteonexit() Grado en Informática Programación de Bases de datos 42 Francisco J. García Izquierdo

43 Serialización de objetos Departamento de Matemáticas y Computación Grado en Informática Programación de Bases de Datos

44 Introducción La serialización es el proceso de transformar un objeto en una secuencia de bytes y su reconstrucción posterior a partir de la misma La secuencia de bytes obtenida mediante la serialización podrá ser almacenada en un fichero, transmitida por la red, etc... Posteriormente se podrá recuperar una copia del objeto en el mismo estado en el que estaba cuando se serializó Grado en Informática Programación de Bases de datos 44 Francisco J. García Izquierdo

45 Introducción Para poder leer y escribir objetos simplemente hay que utilizar dos nuevos tipos de streams: el ObjectOutputStream y el ObjectInputStream. La única condición que debe cumplir una clase para ser serializable es implementar el interface Serializable Es un marker, no tiene ningún método y simplemente sirve para marcar la clase como serializable Si no serializable java.io.notserializableexception Consecuencia: si una clase es serializable lo serán todas sus derivadas. Grado en Informática Programación de Bases de datos 45 Francisco J. García Izquierdo

46 Introducción - Ejemplo class A implements Serializable{ public int i; }... // Escritura de una instancia de una clase serializable A a = new A(); FileOutputStream f = new FileOutputStream( prueba.ser ); ObjectOutputStream oos = new ObjectOutputStream(f); oos.writeobject(a); oos.close();... // Lectura de una instancia de una clase serializable FileInputStream f = new FileInputStream( prueba.ser ); ObjectInputStream ois = new ObjectInputStream(f); A a = (A) ois.readobject(); Ver formato ois.close(); Grado en Informática Programación de Bases de datos 46 Francisco J. García Izquierdo

47 Introducción En la serialización se almacena el contenido de todos los atributos de la instancia, incluidos los privados y los heredados. Por tanto deberán ser de tipos primitivos o de tipos Serializables. Si tiene algún atributo no serializable, la clase no puede serializarse (a no ser que se marque como transient) No se almacenan Campos transient Campos static Con la instancia se serializan todos los objetos alcanzables desde él. Es decir, se serializa todo grafo de objetos alcanzable desde el objeto inicial. Si en el grafo hay varias referencias a una misma instancia esta sólo se almacena una vez. Se almacena el estado del objeto, no el código, que está en el fichero.class. Para de-serializar un objeto es necesario disponer de su fichero de clase. Grado en Informática Programación de Bases de datos 47 Francisco J. García Izquierdo

48 Introducción Serializar un array implica serializar todos sus elementos. Los atributos estáticos no se serializan En el proceso de reconstrucción del objeto no se llama al constructor de las clases serializables Sus atributos se inicializan a partir de la información del stream. Grado en Informática Programación de Bases de datos 48 Francisco J. García Izquierdo

49 Atributos transient Hay veces que no interesa guardar todos los atributos de una instancia: Información confidencial: ej. un string que guarde una password. Información redundante: atributos derivados de otros que se tienen ya calculados por eficiencia, pero que no es necesario guardarlos. Atributos que no se pueden serializar, ya que son de un tipo no serializable. Los atributos marcados con el modificador transient no se serializan. A la hora de la lectura se inicializan al valor por defecto del tipo (enteros a cero, referencias a null, etc...) class A implements Serializable{ } public transient int i; Grado en Informática Programación de Bases de datos 49 Francisco J. García Izquierdo

50 Escritura de instancias Hay ocasiones en que interesa controlar el proceso de escritura: Se desean guardar ciertos atributos en otro formato más compacto que el que mantienen en memoria Si se desea escribir información adicional junto con los atributos de la instancia Si la clase define el método writeobject este será llamado en el momento de la escritura. private void writeobject(objectoutputstream oo) throws IOException class A implements Serializable{ } public transient int i; private void writeobject(objectoutputstream oos) throws IOException { } // Escribir lo que se quiera Grado en Informática Programación de Bases de datos 50 Francisco J. García Izquierdo

51 Lectura de instancias Así mismo hay ocasiones en que interesa controlar el proceso de lectura: Inicializar atributos que se guardaron en otro formato (por ejemplo volver a obtener la imagen a partir del nombre del fichero). Leer la información adicional que se escribió en writeobject. Dar un valor adecuado a los atributos transient. Si la clase define el método readobject este será llamado en el momento de la lectura private void readobject(objectintputstream stream) throws IOException, ClassNotFoundException class A implements Serializable{ } public transient int i; private void readobject(objectintputstream stream) } throws IOException, ClassNotFoundException { // Escribir lo que se quiera Grado en Informática Programación de Bases de datos 52 Francisco J. García Izquierdo

52 os.close() Departamento de Matemáticas y Computación Grado en Informática Programación de Bases de Datos

Programación Orientada a Objetos. Tema 7: Persistencia

Programación Orientada a Objetos. Tema 7: Persistencia Programación Orientada a Objetos Tema 7: Persistencia Tema 7: Persistencia Contenidos 1. LIBRERÍA I/O 2. FICHEROS 3. FICHEROS DE ACCESO DIRECTO 4. FICHEROS DE TEXTO 5. SERIALIZACIÓN DE OBJETOS 6. EJEMPLO

Más detalles

Tipos DataInputStream/DataOutputStream: L/E de datos de tipo simple y Cadenas (Strings) ObjectInputStream/ObjectOutputStream: para persistencia de obj

Tipos DataInputStream/DataOutputStream: L/E de datos de tipo simple y Cadenas (Strings) ObjectInputStream/ObjectOutputStream: para persistencia de obj Programación Orientada a Objetos en JAVA Angela C. Carrillo Ramos Manejo de Streams Un Stream representa un flujo de datos, o un canal de comunicación con un escritor o un lector. Tipos: InputStream/OutputStream:

Más detalles

Entrada y Salida con Java

Entrada y Salida con Java Entrada y Salida con Java Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid E/S con flujos (streams) En Java

Más detalles

Tema 4. Entrada/Salida. Serialización de Objetos.

Tema 4. Entrada/Salida. Serialización de Objetos. Tema 4 Entrada/Salida. Serialización de Objetos. Departament d Informàtica. Índice 1. Entrada/Salida 3 1.1. Entrada orientada a bytes......................................... 6 1.1.1. Entrada de bajo nivel

Más detalles

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream].

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Ficheros y streams Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Los streams pueden ser de entrada () de salida (). Los ficheros pueden almacenar

Más detalles

Nota: en el directorio de prácticas y en PoliformaT puedes descargar los ficheros de código fuente de los ejemplos que aparecen en este anexo.

Nota: en el directorio de prácticas y en PoliformaT puedes descargar los ficheros de código fuente de los ejemplos que aparecen en este anexo. Anexo Práctica 2: Entrada / Salida en Java 1.- Flujos de bytes (byte streams) 2.- Flujos de caracteres 3.- Utilidades para E/S de cadenas formateadas 4.- Flujos de E/S Estándar 5.- Flujos de datos 6.-

Más detalles

Prácticas de Programación

Prácticas de Programación Prácticas de Programación Tema 1. Introducción al análisis y diseño de programas Tema 2. Clases y objetos Tema 3. Herencia y Polimorfismo Tema 4. Tratamiento de errores Tema 5. Aspectos avanzados de los

Más detalles

Práctica III: Streams, Readers y Writers

Práctica III: Streams, Readers y Writers Práctica III: Streams, Readers y Writers Objetivos En esta práctica vamos a aprender a utilizar Streams, Readers y Writers para realizar operaciones de entrada/salida desde programas escritos en el lenguaje

Más detalles

Práctica 4: Herencia. Objetivos:

Práctica 4: Herencia. Objetivos: Práctica 4: Herencia Objetivos: Como se implementa la herencia en Java (superclase - clase descendiente). Utilizar super. Redefinición de métodos Clase Object Clase System Clases abstractas 1. Herencia.

Más detalles

fundamentos de programación (unidad 7) herencia y relaciones entre clases

fundamentos de programación (unidad 7) herencia y relaciones entre clases fundamentos de programación (unidad 7) herencia y relaciones entre clases Para ver una copia completa de la licencia, acudir a la dirección http://creativecommons.org/licenses/by-nc-sa/2.5/ /es/legalcode.es

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Flujos de Entrada/Salida 2 Flujos de Entrada/Salida Hay librerías Orientadas a bytes Orientadas a caracteres Se usa la abstracción de un

Más detalles

Excepciones y E/S Java y Servicios Web I Master en Ingeniería Matemática

Excepciones y E/S Java y Servicios Web I Master en Ingeniería Matemática Excepciones y E/S Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) montenegro@fdi.ucm.es Contenidos Generación de excepciones.

Más detalles

Flujos (streams) Programación. Licenciatura Lingüística y Nuevas Tecnologias Nadjet Bouayad-Agha

Flujos (streams) Programación. Licenciatura Lingüística y Nuevas Tecnologias Nadjet Bouayad-Agha Flujos (streams) Programación Nadjet Bouayad-Agha Licenciatura Lingüística y Nuevas Tecnologias 2007 Agenda Java e argumentos de entrada: args.zip Como leer e escribir datos de/a los flujos estándares.

Más detalles

Información de la lectura en un programa.

Información de la lectura en un programa. I/O Cualquier programa realizado en Java que necesite llevar a cabo una operación de I/O lo hará a través de un stream. Un stream, cuya traducción literal es "flujo", es una abstracción de todo aquello

Más detalles

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este

Más detalles

Sockets. Los sockets son un mecanismo de comunicación entre procesos que se utiliza en Internet.

Sockets. Los sockets son un mecanismo de comunicación entre procesos que se utiliza en Internet. Sockets La biblioteca estándar de clases de Java nos proporciona todo lo que necesitamos para utilizar sockets en nuestras aplicaciones en el paquete java.net, por lo que tendremos que añadir la siguiente

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

EJEMPLOS PROGRAMACIÓN SOCKET - JAVA

EJEMPLOS PROGRAMACIÓN SOCKET - JAVA EJEMPLOS PROGRAMACIÓN SOCKET - JAVA 1.- Calcular el Cuadrado TCP En esta aplicación el cliente se conecta al servidor, para ello debe introducir la dirección IP del servidor y los parámetros sobre los

Más detalles

PROGRAMACION DISTRIBUIDA

PROGRAMACION DISTRIBUIDA PROGRAMACION DISTRIBUIDA Distribución basada en el patrón proxy-servant Héctor Pérez 2 Distribución de aplicaciones basadas en objetos Objetivo: rediseño de una aplicación orientada a objetos para ser

Más detalles

Streams y manejo de entrada y salida (Input & Output)

Streams y manejo de entrada y salida (Input & Output) Resumen PAV (4) 11-mayo-2006 Este resumen ha sido elaborado para ser leído después de haber asistido a clase: pretende fijar y profundizar en los conceptos ya explicados. Streams y manejo de entrada y

Más detalles

Tema 4. Excepciones en Java

Tema 4. Excepciones en Java Programación en Java Tema 4. Excepciones en Java Luis Rodríguez Baena Facultad de Informática Excepciones (I) Permiten la captura de errores en tiempo de ejecución. El control de excepciones permite extraer

Más detalles

Ejercicios de Programación Tema 7. Programación Orientada a Objetos

Ejercicios de Programación Tema 7. Programación Orientada a Objetos Ejercicios de Programación Tema 7. Programación Orientada a Objetos 22 de diciembre de 2013 1. Haz una clase llamada Agenda para manejar una agenda de teléfonos. Los objetos instanciados a partir de esa

Más detalles

Arquitecturas cliente/servidor

Arquitecturas cliente/servidor Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor Creación de Sockets Cliente/Servidor Sockets en TCP Sockets en UDP Definición de DAEMON Concepto de Hilos Qué es un socket? Un socket

Más detalles

1.- FUNDAMENTOS...2 2.- FUNCIONAMIENTO GENÉRICO...3 3.- JAVA SOCKETS... 4. 3.4.1.- Creación de Streams de Entrada...7

1.- FUNDAMENTOS...2 2.- FUNCIONAMIENTO GENÉRICO...3 3.- JAVA SOCKETS... 4. 3.4.1.- Creación de Streams de Entrada...7 1.- FUNDAMENTOS...2 2.- FUNCIONAMIENTO GENÉRICO...3 3.- JAVA SOCKETS... 4 3.1.- INTRODUCCION... 4 3.2.- MODELO DE COMUNICACIONES CON JAVA...5 3.3.- APERTURA DE SOCKETS... 6 3.4.- CREACIÓN DE STREAMS...

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo - Introdución a Java - Breve historia de Java - Características del lenguaje Java - Estructura del JDK 1.6 - Documentación del API (JavaDoc) - Instalar y configurar el ambiente de desarrollo - La variable

Más detalles

La clase Integer y sus métodos. Los Operadores (concepto). Operadores Lógicos y a nivel de Bits. Operadores de desplazamiento. Concatenaciones. La Con

La clase Integer y sus métodos. Los Operadores (concepto). Operadores Lógicos y a nivel de Bits. Operadores de desplazamiento. Concatenaciones. La Con Fases de POO (Análisis y Diseño). Un ejemplo de Análisis y Diseño. Repaso de conceptos de Abstracción y ejemplos. Repaso y definición de Clases, estructura de una clase en Java. Declaración de atributos

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Introducción a Java LSUB. 30 de enero de 2013 GSYC Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial

Más detalles

Cadenas y Entrada/Salida

Cadenas y Entrada/Salida Cadenas y Entrada/Salida Manejo de cadenas java.lang.string java.lang.stringbuffer java.util.stringtokenizer Entrada/Salida (java.io) Streams de datos (DataInputStream/DataOutputStream) Streams de caracteres

Más detalles

Unidad IV Almacenamiento de datos

Unidad IV Almacenamiento de datos Unidad IV Almacenamiento de Datos Año 2011 Si nos soltaran al azar dentro del Cosmos la probabilidad de que nos encontráramos sobre un planeta o cerca de él sería inferior a una parte entre mil billones

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Guía - Taller # 2 (JAVA)

Guía - Taller # 2 (JAVA) CEET - Distrito Capital Programa de Formación: ADSI 150752 TRIMESTRE VI Conocimiento de Conocimiento: Aplicar diversos estilos de Programación usando herramientas para Desarrollo Web Instructor: Ing. Espec.

Más detalles

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola) Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma

Más detalles

Laboratorio de Redes de Comunicaciones Programación con Sockets en Java

Laboratorio de Redes de Comunicaciones Programación con Sockets en Java Laboratorio de Redes de Comunicaciones Programación con Sockets en Java Sockets orientados a conexión Sockets no orientados a conexión Java: Distribuido Java se ha construido con extensas capacidades de

Más detalles

GUÍA USO MOTOR SCRIPTING SOFIA2

GUÍA USO MOTOR SCRIPTING SOFIA2 GUÍA USO MOTOR SCRIPTING SOFIA2 JULIO 2014 Versión 4 1 INDICE 1 INDICE... 2 2 INTRODUCCIÓN... 3 2.1 REQUISITO... 3 2.2 OBJETIVOS Y ALCANCE DEL PRESENTE DOCUMENTO... 3 2.3 CONCEPTOS... 3 3 DESARROLLO DE

Más detalles

Capítulo 5. Programación de aplicaciones de red

Capítulo 5. Programación de aplicaciones de red Capítulo 5. Programación de aplicaciones de red Redes de Ordenadores 2º Grado en Ingeniería en Tecnologías de Telecomunicación 1 Área de Ingeniería Telemática Capítulo 5: Programación de aplicaciones de

Más detalles

Definición de Memoria

Definición de Memoria Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria

Más detalles

James Gosling, creador de Java

James Gosling, creador de Java Lo que Java intenta hacer y lo hace con bastante éxito, es abarcar dominios diferentes. De esa forma le permite efectuar trabajos para de aplicaciones del lado del servidor, del lado del cliente, para

Más detalles

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 Índice INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 1.1 PROGRAMA Y LENGUAJESDE PROGRAMACIÓN...12 1.1.1 EL LENGUAJE JAVA...13 1.1.2 EL JDK...15 1.1.3 LOS PROGRAMAS EN JAVA...16

Más detalles

Desarrollar, usando Java, un cliente básico del protocolo web que permita enviar una solicitud HTTP a un servidor web y procesar la respuesta.

Desarrollar, usando Java, un cliente básico del protocolo web que permita enviar una solicitud HTTP a un servidor web y procesar la respuesta. Cliente HTTP en Java Objetivos Desarrollar, usando Java, un cliente básico del protocolo web que permita enviar una solicitud HTTP a un servidor web y procesar la respuesta. Requerimientos de la aplicación:

Más detalles

CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA 2014

CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA 2014 CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA 2014 Ings. Mario Bressano & Miguel Iwanow ENVÍO 01/2014 Introducción al Lenguaje Java Paquetes Un Paquete en Java es un contenedor de clases que permite agrupar

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays

Más detalles

Introduciendo datos desde el

Introduciendo datos desde el Introduciendo datos desde el teclado Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Crear programas interactivos que lean datos

Más detalles

2. Estructura de un programa en Java

2. Estructura de un programa en Java 24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1 Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

Introducción - por qué usarlas?(1)

Introducción - por qué usarlas?(1) Excepciones en Java Introducción - por qué usarlas?(1) En el mundo de la programación hay algo que siempre ocurre: los errores en los programas. Pero qué sucede realmente después de que ha ocurrido el

Más detalles

Manejo de Archivos en Java. Índice

Manejo de Archivos en Java. Índice Manejo de Archivos en Java Índice 1. Introducción 2. Ficheros Creación de un objeto File Comprobaciones y Utilidades 3. Streams de Entrada Objetos FileInputStream Apertura de un FileInputStream Lectura

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas

Más detalles

Lenguaje de programación con JAVA

Lenguaje de programación con JAVA Pág. N. 1 Lenguaje de programación con JAVA Familia: Editorial: Autor: Tecnología de la información y computación Macro Eric Gustavo Coronel Castillo ISBN: 978-612-304-288-2 N. de páginas: 360 Edición:

Más detalles

JAVA - Serializacíon / RMI. (C) Philippe Roose - 2004, 2005

JAVA - Serializacíon / RMI. (C) Philippe Roose - 2004, 2005 JAVA - Serializacíon / RMI (C) Philippe Roose - 2004, 2005 Serializar objetos- concepto Desde el JDK 1.1 Serializar objetos permite de escribir un objeto en un fichero como un flujo de octets (archivo

Más detalles

1 SOCKETS EN JAVA. Sistemas Distribuidos::Sockets en Java EUI-SG/INFOR.UVA.ES 1

1 SOCKETS EN JAVA. Sistemas Distribuidos::Sockets en Java EUI-SG/INFOR.UVA.ES 1 1 SOCKETS EN JAVA 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

Más detalles

CAPÍTULO II - SERIALIZACIÓN: PERSISTENCIA DE DATOS EN JAVA

CAPÍTULO II - SERIALIZACIÓN: PERSISTENCIA DE DATOS EN JAVA CAPÍTULO II - SERIALIZACIÓN: PERSISTENCIA DE DATOS EN JAVA 14 2.1 Introducción En este capítulo se explica el mecanismo de serialización usado en EAPI para permitir la persistencia de objetos entre ejecuciones

Más detalles

Ficheros de acceso aleatorio

Ficheros de acceso aleatorio Ficheros de acceso aleatorio Los ficheros con los que hemos trabajado hasta ahora (ya sean ficheros de texto o ficheros binarios con objetos serializados) no resultan adecuados para muchas aplicaciones

Más detalles

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp Realizado por: Bertha Palomeque A. Rodrigo Barzola J. INTRODUCCION DIFERENCIAS EJEMPLOS JAVA Orientado a Objetos Multiplataforma Programar

Más detalles

Objetivo de aprendizaje del tema

Objetivo de aprendizaje del tema Computación II Tema 3. Identificadores, palabras clave y tipos de datos Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Distinguir i entre modificadores d válidos y no válidos. Enumerar

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

C.I.F.: B Inscrita en el Registro Mercantil de Madrid, Tomo Libro 0, Folio 135, Sección 8. Hoja M Inscripción 1ª

C.I.F.: B Inscrita en el Registro Mercantil de Madrid, Tomo Libro 0, Folio 135, Sección 8. Hoja M Inscripción 1ª INTRODUCCIÓN A JAVA QUÉ ES JAVA Introducción ORGANIZACIÓN JME (Mobile / Wireless) JSE (Core / Desktop) JEE (Enterprise / Server) LA HISTORIA El comienzo Aparición de Internet Por qué el nombre JAVA DESARROLLO,

Más detalles

IIC1103 Introducción a la Programación. Ayudantía: Archivos

IIC1103 Introducción a la Programación. Ayudantía: Archivos Resumen teórico Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación IIC1103 Introducción a la Programación Ayudantía: Archivos Profesores: Daniel Langdon

Más detalles

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción a Java LSUB. 15 de enero de 2015 GSYC Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

Más detalles

Sockets. Introducción. Las redes de computadoras permiten al usuario. Curso Propedéutico Maestría en Ciencias de la Computación BUAP

Sockets. Introducción. Las redes de computadoras permiten al usuario. Curso Propedéutico Maestría en Ciencias de la Computación BUAP Sockets Curso Propedéutico Maestría en Ciencias de la Computación BUAP Introducción Las redes de computadoras permiten al usuario Acceder a datos remotos Procesamiento remoto Recursos remotos Dr. Ivan

Más detalles

Aprendizaje activo: flujos

Aprendizaje activo: flujos Clase 29 Aprendizaje activo: flujos La aplicación Logger 2 1 Objetivos En el marco de trabajo de la aplicación Logger, analizaremos tres formas de leer y escribir datos utilizando flujos de Java: 1. como

Más detalles

Fundamentos de la programación

Fundamentos de la programación Fundamentos de la programación 2A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Facultad de Informática Universidad Complutense int 214 float 216

Más detalles

Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape.

Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape. CARACTERES EN JAVA Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape. Letra, Dígitos y Otros Estos caracteres

Más detalles

Manejo de Excepciones Para capturar y manejar las excepciones Java proporciona la sentencia try, catch y finalty. Entre un try y un catch se escribe

Manejo de Excepciones Para capturar y manejar las excepciones Java proporciona la sentencia try, catch y finalty. Entre un try y un catch se escribe Excepciones Es un evento que nuestro programa no sabe como manejar. En Java, se define una excepción como un objeto que es la instancia de la clase Throwable o alguna de sus subclases. Las excepciones

Más detalles

Un breve resumen del lenguaje Java

Un breve resumen del lenguaje Java Un breve resumen del lenguaje Java 1.1. Órdenes para trabajar con código Java desde una máquina Unix.............. 1 1.2. Comentarios......................................... 2 1.3. Declaración de datos

Más detalles

StringBuffer, Math y Wrapper

StringBuffer, Math y Wrapper Clases System, String, StringBuffer, Math y Wrapper FJP Unidad 6 Clase System Ubicación: java.lang.system Funcionalidad principal: acceder a los dispositivos del sistema operativo de bajo nivel entrada

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA. Daniel Díaz Sánchez

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA. Daniel Díaz Sánchez UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA Comunicaciones en Java Sockets Cliente Daniel Díaz Sánchez Florina Almenárez Andrés Marín Departamento de Ingeniería Telemática Universidad

Más detalles

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación

Más detalles

4. Operadores Operador asignación

4. Operadores Operador asignación Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre

Más detalles

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA. Daniel Díaz Sánchez

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA. Daniel Díaz Sánchez UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA Sockets para servidor Daniel Díaz Sánchez Florina Almenárez Andrés Marín Departamento de Ingeniería Telemática Universidad Carlos

Más detalles

TEMA 2. Agenda. Fundamentos de JAVA

TEMA 2. Agenda. Fundamentos de JAVA TEMA 2 Fundamentos de JAVA V1.3 Manuel Pereira González Agenda Introducción Historia de Java Características Principales Hello World Tipos Operadores Control de Flujo E/S básica Atributos y Métodos Resumen

Más detalles

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros Práctica 3. Paso de parámetros entre subrutinas 1. Objetivo de la práctica El objetivo de esta práctica es que el estudiante se familiarice con la programación en ensamblador y el convenio de paso de parámetros

Más detalles

Programación interactiva. Oscar Bedoya

Programación interactiva. Oscar Bedoya Programación interactiva Oscar Bedoya oscarbed@eisc.univalle.edu.co Clase File Resulta útil para recuperar información acerca de un archivo o directorio, entre la que se encuentra -Longitud del archivo

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

Estructuras básicas de la programación en Java

Estructuras básicas de la programación en Java Estructuras básicas de la programación en Java ELO-329: Diseño y programación orientados a objetos Agustín J. González ELO329 1 Primer programa en Java Todo programa debe tener al menos una clase. Toda

Más detalles

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A. SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:

Más detalles

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 5. Gestión de ficheros de texto en Java Contenido Introducción La clase PrintWriter La clase

Más detalles

UNIVERSIDAD POLITÉCNICA DE PACHUCA SOCKETS EN JAVA

UNIVERSIDAD POLITÉCNICA DE PACHUCA SOCKETS EN JAVA SOCKETS EN JAVA Los sockets son puntos finales de enlaces de comunicaciones entre procesos. Los procesos los tratan como descriptores de ficheros, de forma que se pueden intercambiar datos con otros procesos

Más detalles

public static void main(string[ ] args) { Numero f1 = new Numero(3); Numero f2 = new Numero(4); Numero f3 = f1; f1.value = f2.value; Numero f4 = null;

public static void main(string[ ] args) { Numero f1 = new Numero(3); Numero f2 = new Numero(4); Numero f3 = f1; f1.value = f2.value; Numero f4 = null; Examen de Programación Convocatoria de Septiembre 2005 Licenciatura de Lingüística y Nuevas Tecnologías Pregunta 1 Tenemos el siguiente programa: public class Numero { int value; public Numero(int i) {

Más detalles

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

Más detalles

Ejercicios de evaluación de fundamentos de programación en Java

Ejercicios de evaluación de fundamentos de programación en Java Ejercicios de evaluación de fundamentos de programación en Java Jorge Martínez Ladrón de Guevara Editorial EME ISBN 978-84-96285-40-8 Contenido 1. Introducción a Java... 1 Test de evaluación...1 Ejercicios...4

Más detalles

Manejo básico de record store RMS en aplicaciones móviles con J2ME. Por: Rubén Dario Orozco (drincast@hotmail.com)

Manejo básico de record store RMS en aplicaciones móviles con J2ME. Por: Rubén Dario Orozco (drincast@hotmail.com) Manejo básico de record store RMS en aplicaciones móviles con J2ME 2008 Por: Rubén Dario Orozco (drincast@hotmail.com) Esta obra está bajo una licencia Reconocimiento-No comercial-compartir bajo la misma

Más detalles

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores El lenguaje de programación Java Programa Java Un programa Java está formado por un conjunto de clases que interactúan entre sí La clase es la unidad básica de programación La ejecución depende de la clase

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo rcoppo@uns.edu.ar Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación

Más detalles

Práctica 5: Servidor web concurrente en Java

Práctica 5: Servidor web concurrente en Java Práctica 5: Servidor web concurrente en Java Esta práctica pretende familiarizar al alumno con la programación de servidores que emplean sockets TCP. Para ello partiremos del servidor web básico visto

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

Universidad de Cantabria corcuerp@unican.es

Universidad de Cantabria corcuerp@unican.es Networking Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Aprender los conceptos básicos de redes y su implementación en Java

Más detalles

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Solución al Examen de Prácticas de Programación (Ingeniería Informática) Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa

Más detalles

Examen de Prácticas de Programación Ingeniería Informática

Examen de Prácticas de Programación Ingeniería Informática Examen de Prácticas de Programación Ingeniería Informática Septiembre 2007 1) (3.5 puntos) Se pretende desarrollar un programa para gestionar las reparaciones de coches realizadas en un garaje. Del análisis

Más detalles

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Variables y Tipos de Datos PRÁCTICA NÚM. [ 1 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje

Más detalles

Federico Peinado www.federicopeinado.es

Federico Peinado www.federicopeinado.es Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es

Más detalles

Tema 7.- Fundamentos de la Programación Orientada a Objetos

Tema 7.- Fundamentos de la Programación Orientada a Objetos Tema 7.- Fundamentos de la Programación Orientada a Objetos 7 de enero de 2014 Objetivos Saber definir clases propias. Saber crear objetos de una clase determinada e interactuar con ellos (Problema 1).

Más detalles

Java en 2 horas. Rodrigo Santamaría

Java en 2 horas. Rodrigo Santamaría + Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 10 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1.1 EJERCICIO 1: MI PRIMER FICHERO EN BINARIO... 1 1.2 EJERCICIO 2: LEYENDO MI PRIMER FICHERO

Más detalles

Diseñar y Programar todo es empezar

Diseñar y Programar todo es empezar Diseñar y Programar todo es empezar Para ilustrar el carácter iterativo del proceso de descubrimiento de clases y métodos, finalmente, en la Figura 41, se presenta un diagrama de clases que recoge los

Más detalles