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.

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

Download "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."

Transcripción

1 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.- Flujos de objetos 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. Entrada / Salida en Java Un flujo de entrada/salida (I/O Stream) representa una secuencia de datos que pueden leerse desde un dispositivo de entrada o escribirse en un dispositivo de salida. Un stream puede manejar diferentes tipos de datos: bytes, caracteres, tipos primitivos, cadenas, e incluso objetos. En los paquetes java.io y java.util de la distribución de Java están incluidas las clases para el manejo de streams. A continuación se ilustra con ejemplos cómo leer/escribir de manera secuencial en un fichero utilizando distintos tipos de datos y cómo manejar la entrada/salida estándar (leer de teclado y escribir en pantalla). Para más información sobre E/S puede consultar los tutoriales de Java en Flujos de bytes (byte streams) Las operaciones de entrada/salida pueden realizarse a nivel de byte (de 8 bits). Las clases que manejan los streams de bytes descienden de las clases abstractas InputStream y OutputStream. Estas clases implementan operaciones de E/S de bajo nivel. Aunque normalmente no se utilizan, es importante conocerlas porque el resto de streams de otros tipos de datos, se construyen sobre streams de bytes. Para leer bytes desde fichero se utiliza la clase java.io.fileinputstream. Algunos de los métodos esa clase son: FileInputStream (String nombrefichero): constructor que crea un objeto flujo de bytes para leer del fichero de nombre nombrefichero. FileInputStream (File f): constructor crea un objeto flujo de bytes para leer del fichero de descriptor f. int available(): bytes disponibles en el flujo. void close(): cierra el flujo de datos. int read(): devuelve el valor del byte (0 a 255) o -1 si no hay bytes disponibles. int read(byte[] barray): guarda los bytes leídos en el vector. int read(byte[] barray, int offset, int n): guarda en el vector los n bytes leídos a partir de offset. long skip(long n): elimina n bytes del flujo.

2 Para escribir bytes en fichero se utiliza java.io.fileoutputstream cuyos métodos son: FileOutputStream (String nombrefichero): crea un objeto flujo de bytes para escribir en el fichero de nombre nombrefichero. Si el fichero no existe lo crea, y si existe lo sobrescribe. FileOutputStream (String nombrefichero, boolean append): añade bytes al fichero si append vale true. FileOutputStream (File f): crea un objeto flujo de bytes para escribir en el fichero de descriptor f. Si el fichero no existe lo crea, y si existe lo sobrescribe. void close(): cierra el flujo de datos. void flush(): vuelca los datos almacenados en un búfer intermedio en el flujo de salida (para ciertas subclases). void write(int n): escribe el byte n en el flujo. void write(byte[] barray): escribe los bytes del vector en el flujo. void write(byte[] barray, int offset, int n): escribe los n bytes del vector, a partir del índice offset, en el flujo. A continuación se muestra un ejemplo, que copia el contenido del fichero entrada.txt en el fichero salida.txt leyendo byte a byte. La operación read() devuelve el siguiente byte en el archivo. El valor de retorno se utiliza para comprobar si quedan bytes en el archivo (si read() devuelve -1 es porque se ha alcanzado al final del archivo). import java.io.fileinputstream; import java.io.fileoutputstream; import java.io.ioexception; public class CopiarBytes { public static void main(string[] args) throws IOException{ FileInputStream entrada=null; FileOutputStream salida=null; entrada= new FileInputStream("entrada.txt"); salida= new FileOutputStream("salida.txt"); int c; while ((c=entrada.read())!=-1){ salida.write(c); catch(ioexception e) { finally{ if (entrada!=null){ entrada.close(); if (salida!=null){ salida.close(); En la programación de la E/S debe escribirse código para capturar la excepción IOException que puede producirse en caso de error en la E/S, (p.e. si la fuente de datos no está disponible, el fichero no existe, no tiene permisos de escritura, el disco está lleno, etc.). Por ello, en el ejemplo se ha marcado con un bloque try el código correspondiente a las operaciones read() y write(). Para asegurar que los streams se cierran se ha escrito la operación close() en un bloque finally.

3 2.- Flujos de caracteres Las clases que manejan flujos de caracteres transforman los bytes en caracteres según el juego de caracteres local (o el que el programador especifique). Todas ellas descienden de las clases abstractas Reader y Writer. Las que podemos considerar de propósito general son: java.io.inputstreamreader y java.io.outputstreamwriter. Los flujos de caracteres se definen sobre flujos de bytes. Así, para crear un flujo de caracteres sobre un fichero, es necesario que crear previamente un flujo de bytes sobre dicho fichero, como se muestra a continuación: InputStreamReader in = new InputStreamReader (new FileInputStream ( fichero )); Los métodos más usuales de InputStreamReader son: InputStreamReader(InputStream in): construye un flujo de caracteres de lectura a partir de un flujo de bytes, utilizando el juego de caracteres local. InputStreamReader(InputStream in, Charset cs): construye un flujo de caracteres de lectura a partir de un flujo de bytes. Permite especificar el juego de caracteres. int read(): lee un carácter. int read(char[] buf, int off, int n): lee n caracteres que almacena en el vector buf desde la posición off. Devuelve el núm. de caracteres leído o -1 si se llega al final del flujo. boolean ready(): indica si el buffer está listo o no (p.e. si está vacío) Y los de OutputStreamWriter: OutputStreamWriter(OutputStream in): construye un flujo de caracteres de escritura a partir de un flujo de bytes, utilizando el juego de caracteres local. OutputStreamWriter(OutputStream in, Charset cs): construye un flujo de caracteres de escritura a partir de un flujo de bytes. Permite especificar el juego de caracteres. void write(int c): escribe un carácter. void write(char[] buf, int off, int n): escribe n caracteres del vector buf desde la posición off. void write(string s, int off, int n): escribe n caracteres de la cadena s desde la posición off. void flush(): vuelca los datos en el flujo de salida. Aparte de estas clases, existen otras especializadas en el manejo de la entrada/salida con ficheros: java.io.filereader y java.io.filewriter (descendientes de InputStreamReader y OutputStreamWriter, respectivamente). Éstas transforman los bytes en caracteres utilizando el juego de caracteres local. El constructor tiene un único parámetro donde se indica el nombre del fichero. El resto de métodos son los heredados de InputStreamReader y OutputStreamWriter. A continuación se muestra un ejemplo, CopiarCaracteres, que es exactamente igual al ejemplo CopiarBytes. La única diferencia es que, en este caso, la variable entera c almacena un carácter (16 bits).

4 import java.io.filereader; import java.io.filewriter; import java.io.ioexception; public class CopiarCaracteres { public static void main(string[] args) throws IOException{ FileReader entrada=null; FileWriter salida=null; entrada= new FileReader("entrada.txt"); salida= new FileWriter("salida_car.txt"); int c; while ((c=entrada.read())!=-1){ salida.write(c); catch(ioexception e) { finally{ if (entrada!=null){ entrada.close(); if (salida!=null){ salida.close(); Una forma habitual de procesar un fichero de texto es línea a línea. El paquete java.io proporciona las clases BufferedReader y PrintWriter que están diseñadas para leer y escribir texto, independientemente del carácter terminador de línea ( \r, \n, \r\n ). La clase BufferedReader proporciona métodos para la lectura de caracteres y líneas. Utiliza un buffer de memoria lo que aumenta la eficiencia de las operaciones de lectura. Algunos métodos de la clase son: BufferedReader(Reader in): construye un flujo de caracteres de entrada con buffer a partir de un objeto Reader (InputStreamReader, FileReader, etc.) BufferedReader (Reader in, int sz): crea un flujo de entrada de caracteres con un buffer de tamaño sz. int read(): lee un carácter. int read(char[] buf, int off, int n): lee n caracteres que almacena en el vector buf desde la posición off. Devuelve el núm. de caracteres leído o -1 si se llega al final del flujo. String readline(): lee una línea hasta que encuentra el carácter terminador de línea (fin de línea \n, retorno de carro \r, o \r\n ). boolean ready(): indica si el buffer está listo o no (p.e. si está vacío) int skip(int n): salta n caracteres del buffer. La clase PrintWriter escribe texto formateado en un flujo de salida de caracteres. Los métodos de esta clase no generan excepciones. Utiliza el terminador de línea propio del sistema operativo. Algunos métodos de PrintWriter son: PrintWriter(Writer out): construye un flujo de caracteres de salida a partir de un objeto Writer (OutputStreamWriter, FileWriter, etc.)

5 print(tipo valor): escribe el valor pasado como parámetro. El método está sobrecargado: tipo puede ser cualquier tipo básico, objeto o cadena. println(tipo valor): igual que print, pero añade un terminador de línea. println(): escribe un terminador de línea. flush(): vacía el flujo de caracteres. boolean checkerror(): comprueba si se ha producido un error. El ejemplo siguiente procesa el fichero entrada.txt línea a línea. El método readline() devuelve null cuando alcanza el final del archivo. import java.io.filereader; import java.io.filewriter; import java.io.ioexception; import java.io.bufferedreader; import java.io.printwriter public class CopiarLineas { public static void main(string[] args) throws IOException{ BufferedReader entrada=null; PrintWriter salida=null; entrada= new BufferedReader(new FileReader("entrada.txt")); salida= new PrintWriter(new FileWriter("salida_lin.txt")); String l; while ((l=entrada.readline())!=null){ salida.println(l); catch(ioexception e) { finally{ if (entrada!=null){ entrada.close(); if (salida!=null){ salida.close(); Cada operación de E/S llevada a cabo por una clase que no utiliza buffer supone un acceso al dispositivo externo (disco, red, etc.). Las clases que utilizan un buffer de memoria pueden realizar las operaciones de lectura y escritura más eficientemente: Las operaciones de lectura acceden al dispositivo externo cuando el buffer de entrada está vacío. Las operaciones de escritura cuando el buffer de salida está lleno. BufferedReader y PrintWriter manejan flujos de caracteres con buffer. BufferedInputStream y BufferedOutputStream manejan flujos de bytes con buffer. Para vaciar el buffer de salida se utiliza la operación flush(). Algunos métodos realizan el vaciado del buffer cada vez que son invocados, p.e. el método println() de PrintWriter.

6 3.- Utilidades para E/S de cadenas formateadas La clase java.util.scanner permite divide la cadena de entrada en tokens separados por blancos (espacio en blanco, tabulador, terminadores de línea, ) o por el delimitador que especifique el programador. Un objeto de la clase Scanner se construye sobre un buffer de caracteres (BufferedReader). Puede procesar cada token como una cadena, pero también puede transformar el token en un tipo primitivo de Java. Los métodos Scanner(BufferedReader in): construye un objeto Scanner. hasnext(): devuelve cierto si quedan tokens en la cadena. next(): devuelve el siguiente token (String) hasnextdouble(), hasnextint(), : devuelven true si el siguiente token es del tipo esperado. nextdouble(), nextint(), : devuelven el siguiente token traducido al tipo indicado. usedelimiter(string s): modifica mediante una exp. regular el conjunto de delimitadores. uselocale(locale l): modifica el formato numérico local. A continuación se ilustra con dos ejemplo el funcionamiento de Scanner. En el primero se procesa cada token del fichero como una cadena, mostrando en pantalla cada token en una línea. El segundo suma todos los números reales que se encuentran en el fichero descartando aquellos tokens que no lo son. Para ello tiene en cuenta el formato numérico local (éste puede cambiarse con el método uselocale(), por ejemplo con s.uselocale(locale.us) se utilizaría el formato numérico US). import java.io.bufferedreader; import java.io.filereader; import java.util.scanner; public class EscaneaLínea { public static void main(string[] args) { Scanner s=null; s=new Scanner(new BufferedReader( new FileReader("entrada.txt"))); while (s.hasnext()){ System.out.println(s.next()); catch(ioexception e) { finally{ if (s!=null){ s.close();

7 import java.io.bufferedreader; import java.io.filereader; import java.util.scanner; public class EscaneaNumeros { public static void main(string[] args) { Scanner s=null; double suma=0, n; s=new Scanner(new BufferedReader( new FileReader("numeros.txt"))); while (s.hasnext()){ if (s.hasnextdouble()){ n=s.nextdouble(); suma+=n; System.out.println("double: " + n); else { System.out.println(s.next()); catch(ioexception e) { finally{ if (s!=null){ s.close(); System.out.println("Total= " + suma); Las clases PrintWriter (flujo de caracteres) y PrintStream (flujo de bytes) pueden escribir cadenas con formato utilizando el método format(). Debe indicarse una cadena de formato y una lista de argumentos. Por ejemplo: System.out.format( La raíz cuadrada de %d es %f. %n, 5, Math.sqrt(5)); Algunos tipos de especificadores de formato son: %d enteros %f reales %s cadenas %n terminador de línea (independiente de la plataforma) Los especificadotes de formato admiten elementos opcionales que de izquierda a derecha son: Índice del argumento con el que empareja el especificador de formato. Se utiliza en el caso de tener varios especificadores para un mismo argumento. Se utiliza en índice en la cadena de argumentos, empezando en 0, o el símbolo < que indica que se empareje el especificador con el argumento utilizado por el especificador previo. Flags: o +: número con signo o Carácter de relleno o -: alinea a la derecha o,: formato de número con separadores decimales locales. Anchura mínima, por defecto se alinea a la izquierda. Precisión: para reales es la precisión matemática, para cadenas es la anchura máxima. Se trunca por la derecha.

8 Por ejemplo, la siguiente instrucción imprime el número real PI dos veces. El segundo especificador indica que el argumento es el primero de la lista (1$), se escribirá con signo (+), carácter de relleno el 0, tamaño 20, y precisión 10: System.out.format ( %f, %1$ f, Math.PI) La salida resultante sería: 3,141593, , Flujos de E/S estándar Java soporta tres flujos estándar, que están ya definidos y que no necesitan ser abiertos: System.in Objeto de la clase InputStream. Representa el flujo de entrada estándar (teclado). El método System.in.read() lee el siguiente byte. System.out: Objeto de la clase PrintStream. Representa el flujo de salida estándar (pantalla). Los métodos sobrecargados System.out.print() y System.out.println() escriben cadenas de caracteres. System.err: Objeto de la clase PrintStream. Por tanto, tiene los mismos métodos que System.out. Representa el flujo de salida de error. Para leer una cadena desde la entrada estándar se define un flujo de caracteres (BufferedReader) sobre System.in, y se utiliza el método readline() para leer los caracteres introducidos por teclado: import java.io.bufferedreader; import java.io.inputstreamreader; public class LeerCadena { public static void main(string[] args) { BufferedReader in= new BufferedReader(new InputStreamReader(System.in)); String s=""; System.out.println("Escriba su nombre: "); try{ s=in.readline(); catch(exception E){ s = ""; System.out.println("Su nombre es: " + s); Si queremos leer un valor correspondiente a un tipo primitivo, hay que leer una cadena y transformarla al tipo deseado. Por ejemplo, para leer un entero de la entrada estándar, se transforma la cadena leída a entero con el método Integer.parseInt().

9 En caso de que la cadena no se corresponda con un valor entero se lanzará una excepción de formato (NumberFormatException). import java.io.bufferedreader; import java.io.inputstreamreader; public class LeerEntero { public static void main(string[] args) { BufferedReader in= new BufferedReader(new InputStreamReader(System.in)); String s=""; int edad=0; System.out.println("Escriba su edad: "); try{ edad=integer.parseint(in.readline().trim()); catch(numberformatexception e){ System.out.println("No es un entero."); catch (IOException e){ System.out.println("Error."); System.out.println("Su edad es: " + edad); 5.- Flujos de datos Los flujos de datos soportan la E/S binaria de valores de tipos primitivos (boolean, char, byte, short, int, long, float, double). La clase java.io.datainputstream permite la lectura de tipos primitivos que hayan sido previamente escritos con java.io.dataoutputstream. Algunos métodos de DataInputStream son: DataInputStream(InputStream in): construye un flujo de datos de entrada sobre un InputStream. boolean readboolean(): false si es 0, true en otro caso. byte readbyte(), char readchar(), String readutf(), double readdouble(), float readfloat() int readint(), long readlong(), short readshort() int skipbytes(int n) Los métodos de DataOutputStream son: DataOutputStream(OutputStream out): construye un flujo de datos de salida sobre un OutputStream. void writeboolean(boolean v). void writebyte(int v), void writebytes(string s)

10 void writechar(int c), void writechars(string s), writeutf(string s), void writedouble(int v), float writefloat(int v) void writeint(int v), void writelong(int v), void writeshort(int v) int size(): cantidad de bytes escritos en el buffer. La condición de fin de fichero se detecta con la interrupción EOFException. El programador debe preocuparse de que la lectura de los datos se realice en el mismo orden en el que estos se escribieron. A continuación se ilustra con un ejemplo que guarda en un fichero el contenido de dos vectores (uno de nombres y otro de edades), y después lee el contenido del fichero. import java.io.datainputstream; import java.io.dataoutputstream; import java.io.eofexception; import java.io.fileinputstream; import java.io.filenotfoundexception; import java.io.fileoutputstream; import java.io.ioexception; public class LeerYEscribirDatos { static void escribirfichero(string nombrefich, String nomb[], int ed[]) throws IOException { DataOutputStream salida = null; try{ salida = new DataOutputStream( new FileOutputStream(nombreFich)); for (int i=0;i<nomb.length;i++){ salida.writeutf(nomb[i]+'\n'); salida.writeint(ed[i]); salida.close(); catch(filenotfoundexception e){ System.out.println("No se puede crear el fichero"); System.exit(-1); catch (IOException e){ System.exit(-1); finally { if (salida!=null) salida.close(); static void leerfichero(string nombrefich) throws IOException{ DataInputStream entrada = null; try{ entrada = new DataInputStream(new FileInputStream(nombreFich)); while(true){ System.out.println("Nombre: " + entrada.readutf() + "Edad: " + entrada.readint());

11 catch (EOFException e){ System.out.println("Fin de archivo."); catch(filenotfoundexception e){ System.out.println("No se puede abrir el fichero"); System.exit(-1); catch (IOException e){ System.exit(-1); finally{ if (entrada!=null) entrada.close(); public static void main(string[] args) throws IOException{ String nombres[] ={"Pepe", "Ana","Laura", "Toni"; int edades[] ={21,23, 22, 21; escribirfichero("datos",nombres,edades); leerfichero("datos"); 6.- Flujos de objetos: Serialización Los flujos de objetos permiten hacer los objetos persistentes, es decir, almacenar objetos en archivos, para poder recuperarlos en otro momento. Las clases que manejan la entrada y salida de objetos son java.io.objectoutputstream y java.io.objectoutputstream, respectivamente. Para poder hacer persistentes los objetos de una clase, en la declaración de la misma debe indicarse que implementa la interfaz java.io.serializable. El flujo de objetos de salida, ObjectOutputStream, se define sobre FileOutputStream. Para escribir objetos se utiliza el método writeobject(object obj). El flujo de objetos de entrada, ObjectInputStream, se define sobre FileInputStream. La lectura de objetos debe realizase en el mismo orden en el que se escribieron. Para leer objetos se utiliza el método Object readobject(). Si el objeto leído no es del tipo esperado se lanza la excepción ClassNotFoundException. Cuando se escribe un objeto complejo, por ejemplo una colección que contiene referencias a otros objetos, se guardan todas esas referencias, para poder reconstruir el objeto en una lectura posterior. A continuación se muestra con un ejemplo cómo serializar una colección de objetos. Se utiliza la clase ArrayList para guardar los objetos de la colección. ArrayList ya implementa la interfaz Serializable, pero además los objetos que se guarden en el vector deben ser también serializables. En este caso, hay que modificar la definición de la clase Circulo así : class Circulo implements Serializable {

12 import java.util.arraylist; import java.io.fileinputstream; import java.io.fileoutputstream; import java.io.ioexception; import java.io.objectinputstream; import java.io.objectoutputstream; import Figuras.Circulo; public class Serializacion { static ArrayList v; static void GuardarVector(){ ObjectOutputStream objout = new ObjectOutputStream ( new FileOutputStream("prueba.dat")); objout.writeobject(v); objout.close(); System.out.println("Archivo guardado."); catch (IOException e) { System.out.println("Error guardando archivo: "); static void LeerVector(){ ObjectInputStream objin = new ObjectInputStream ( new FileInputStream("prueba.dat")); v= (ArrayList) objin.readobject(); objin.close(); System.out.println("Archivo leído."); catch (ClassNotFoundException e) { System.out.println("Error!"); catch (IOException ex) { System.out.println("Error abriendo archivo: "); public static void main(string[] args) { v = new ArrayList(); // ArrayList implementa Serializable for (int i=0;i<10;i++){ Circulo c = new Circulo(1,1,i); //La clase Circulo debe implementar Serializable v.add(c); GuardarVector(); v.clear(); //borra los elementos del array LeerVector(); for (int i=0;i<v.size();i++){ ((Circulo) v.get(i)).dibujar();

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

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

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

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

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

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

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

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

Resumen de Ficheros en Java. FileOutputStream(String nombre_fichero, boolean añadir)

Resumen de Ficheros en Java. FileOutputStream(String nombre_fichero, boolean añadir) Resumen de Ficheros en Java 1. Ficheros secuenciales binarios Byte a byte FileOutputStream y FileInputStream FileOutputStream salida; salida= new FileOutputStream(nombre); FileOutputStream(File Objeto_File)

Más detalles

Entrada y Salida de datos

Entrada y Salida de datos Entrada y Salida de datos El intercambio de datos entre el programa y el exterior da lugar a la diversidad de dispositivos y de formas de comunicación (modo de acceso, si es binaria, etc.). Los flujos

Más detalles

Fundamentos de Computadores y Lenguajes

Fundamentos de Computadores y Lenguajes Fundamentos de Computadores y Lenguajes 1. Elementos básicos de los lenguajes 2. Instrucciones de control 3. Tipos de datos 4. Métodos 5. Modularidad y Abstracción 6. Tratamiento de errores 7. Entrada/salida

Más detalles

3.9 Streams y Archivos Streams Básicos 18/04/2004. API de InputStream (1/2) Streams de Bytes y Caracteres. API de OutputStream

3.9 Streams y Archivos Streams Básicos 18/04/2004. API de InputStream (1/2) Streams de Bytes y Caracteres. API de OutputStream 3.9 Streams y Archivos Streams, clases, archivos, streams de objetos y serialización 3.9.1 Streams Básicos Streams de Bytes y Caracteres E/S es en principio una secuencia de bytes Ejemplo: Archivo, dispositivo,

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

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

Ejemplo de lectura por teclado de un número entero: int n; System.out.print("Introduzca un número entero: "); n = sc.nextint();

Ejemplo de lectura por teclado de un número entero: int n; System.out.print(Introduzca un número entero: ); n = sc.nextint(); Fuente : http://puntocomnoesunlenguaje.blogspot.com.ar/2012/08/java-scanner.html Java Scanner para lectura de datos La clase Scanner está disponible a partir de Java 5 y facilita la lectura de datos en

Más detalles

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System. CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA

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

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

1 ELEMENTOS BASICOS DEL LENGUAJE

1 ELEMENTOS BASICOS DEL LENGUAJE 1 ELEMENTOS SICOS DEL LENGUJE Contenido: Variables su declaracion y asignacion Caracteres en java Secuencias de escape y comentarios Tipos de datos Operadores aritméticos, relacionales y lógicos Entrada

Más detalles

1. Creación del repositorio

1. Creación del repositorio FACULTADE DE INFORMÁTICA Departamento de Computación Tecnología de la Programación 2008-2009 Ingeniería Informática Práctica 1: Subversion Introducción El objetivo de esta práctica es aprender a manejar

Más detalles

PROGRAMACIÓN CLIENTE-SERVIDOR MEDIANTE SOCKETS EN JAVA

PROGRAMACIÓN CLIENTE-SERVIDOR MEDIANTE SOCKETS EN JAVA PROGRAMACIÓN CLIENTE-SERVIDOR MEDIANTE SOCKETS EN JAVA Qué es la arquitectura cliente servidor? La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten

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

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

La clase estándar Scanner

La clase estándar Scanner La clase estándar Scanner La clase Scanner de Java provee métodos para leer valores de entrada de varios tipos y está localizada en el paquete java.util. Los valores de entrada pueden venir de varias fuentes,

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

7. Manejo de Archivos en C.

7. Manejo de Archivos en C. 7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de

Más detalles

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la

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

Programación Orientada a Objetos con Java

Programación Orientada a Objetos con Java Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la

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

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

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

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

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

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

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

PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN ORIENTADA A OBJETOS Operaciones con ficheros en Prof. Dr. Nicolás Luis Fernández García Departamento de Informática y Análisis Numérico Escuela Politécnica Superior Universidad de Córdoba

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

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN INTRODUCCION Un arreglo es una colección de variables del mismo tipo, referidos por un nombre común. En Java, los arreglos tienen una o más dimensiones,

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

11. Algunas clases estándar de Java (II)

11. Algunas clases estándar de Java (II) 122 A. García-Beltrán y J.M. Arranz 11. Algunas clases estándar de Java (II) Objetivos: a) Presentar la clase predefinida en Java para trabajar con arrays b) Interpretar el código fuente de una aplicación

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

Práctica1: Medición del Tiempo

Práctica1: Medición del Tiempo Práctica1: Medición del Tiempo Objetivo Medir teórica y experimentalmente el tiempo de ejecución de algoritmos. Procedimiento General. En Netbeans cree el proyecto P1_Timing para incorporar los códigos

Más detalles

UNIVERSIDAD DE SEVILLA PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007

UNIVERSIDAD DE SEVILLA PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 UNIVERSIDAD DE SEVILLA E. T. S. INGENIERÍA INFORMÁTICA LENGUAJES Y SISTEMAS INFORMÁTICOS PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 Qué es el análisis

Más detalles

Ejercicios - Persistencia en Android: ficheros y SQLite

Ejercicios - Persistencia en Android: ficheros y SQLite Ejercicios - Persistencia en Android: ficheros y SQLite Índice 1 Uso de ficheros (0.5 puntos)...2 2 Persistencia con ficheros (0.5 puntos)...3 3 Base de datos: SQLiteOpenHelper (0.5 puntos)... 3 4 Base

Más detalles

Tema 2. El lenguaje de programación Java. Arrays y cadenas

Tema 2. El lenguaje de programación Java. Arrays y cadenas Programación en Java Tema 2. El lenguaje de programación Java. Arrays y cadenas Luis Rodríguez Baena Facultad de Informática Arrays y colecciones Hay dos formas de guardar varias referencias a objetos:

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

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

Contenidos. Archivos en C++ Archivos en C++ Introducción

Contenidos. Archivos en C++ Archivos en C++ Introducción Contenidos 1. Introducción. 2. Manipulación de ficheros. 3. Organización de archivos. 4. Tipo de almacenamiento. 5. Biblioteca de flujos. 6. Operaciones asociadas a archivos: Abrir fichero, Cerrar fichero,

Más detalles

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2 Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3

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 Proyecto Curricular de Ingeniería de Sistemas

Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 9 - Entrada y salida de datos estándar Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas Entrada y salida de datos estandar Normalmente, cuando se codifica un programa, se

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

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I

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

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

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

Uso de excepciones en Java

Uso de excepciones en Java Uso de excepciones en Java En Java, cuando se produce un error en un método, se lanza un objeto Throwable. Cualquier método que haya llamado al método puede capturar la excepción y tomar las medidas que

Más detalles

Introducción al lenguaje Java

Introducción al lenguaje Java Tipo de entrega: Fecha límite: Lugar: Introducción al lenguaje Java por grupos de prácticas sesión de laboratorio Atenea Objetivos de la práctica: Escribir aplicaciones simples en Java Utilizar el entorno

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

Parte I: Programación en un lenguaje orientado a objetos

Parte I: Programación en un lenguaje orientado a objetos Parte I: Programación en un lenguaje orientado a objetos 1. Introducción a los lenguajes de programación 2. Datos y expresiones 3. Estructuras algorítmicas 4. Datos compuestos 5. Modularidad 6. Tratamiento

Más detalles

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada. Arquitectura de sistemas Abelardo Pardo University of Sydney School of Electrical and Information Engineering NSW, 2006, Australia Autor principal del curso de 2009 a 2012 Iria Estévez Ayres Damaris Fuentes

Más detalles

Lenguaje Java Avanzado

Lenguaje Java Avanzado Lenguaje Java Avanzado Sesión 4: Serialización de datos 2012-2013 Depto. Ciencia de la Computación e IA Índice Introducción a los flujos de E/S Entrada y salida estándar Acceso a ficheros Acceso a recursos

Más detalles

Universidad Central de Bayamón COLEGIO DE DESARROLLO EMPRESARIAL Y TECNOLOGIA. Número Estudiante:

Universidad Central de Bayamón COLEGIO DE DESARROLLO EMPRESARIAL Y TECNOLOGIA. Número Estudiante: Universidad Central de Bayamón COLEGIO DE DESARROLLO EMPRESARIAL Y TECNOLOGIA Número Estudiante: Fecha: Nombre: Examen #1- COMP 250 Prof. Carlos Rodríguez Sánchez Selección Múltiple. Marque la MEJOR contestación

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

EXCEPCIONES EN JAVA. Las sentencias que tratan las excepciones son try y catch. La sintaxis es:

EXCEPCIONES EN JAVA. Las sentencias que tratan las excepciones son try y catch. La sintaxis es: EXCEPCIONES EN JAVA Uno de los problemas más importantes al escribir aplicaciones es el tratamiento de los errores. Errores no previstos que distorsionan la ejecución del programa. Las excepciones de Java

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

Computación III. Objetivo de aprendizaje del tema

Computación III. Objetivo de aprendizaje del tema Computación III Tema 5 Declaración, inicialización y uso de variables 1 Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Identificar la sintaxis de las variables en el lenguaje Java.

Más detalles

Tema 1. Introducción a JAVA

Tema 1. Introducción a JAVA Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

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

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Máquina Expendedora (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Circulo (1.0 pto.)... 3 1.3 Ejercicio

Más detalles

Introducción al lenguaje de programación java

Introducción al lenguaje de programación java Introducción al lenguaje de programación java Algoritmia y Programación Slide 1 LENGUAJES DE PROGRAMACION Un lenguaje de programación es un idioma artificial diseñado y creado para expresar algoritmos

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

Clase 3: Archivos (texto, csv, dbf, Excel)

Clase 3: Archivos (texto, csv, dbf, Excel) Archivos Clase 3: Archivos (texto, csv, dbf, Excel) En líneas generales los archivos se leen y se escriben en 3 pasos: Lectura: 1. Abrir (open) 2. Leer (read, readlines, readline) 3. Cerrar (close) Escritura:

Más detalles

Programas. Los programas más simples escritos en lenguajes imperativos suelen realizar tres tareas de forma secuencial:

Programas. Los programas más simples escritos en lenguajes imperativos suelen realizar tres tareas de forma secuencial: Programas Estructura de un programa simple Los programas más simples escritos en lenguajes imperativos suelen realizar tres tareas de forma secuencial: Entrada de datos Procesamiento de los datos Salida

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

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

Sintaxis y Convenciones de Java. M. en C. Erika Vilches

Sintaxis y Convenciones de Java. M. en C. Erika Vilches Sintaxis y Convenciones de Java M. en C. Erika Vilches Estructura del Código en Java Hay una clase en un archivo fuente Hay métodos en una clase Hay enunciados en un método Anatomía de una Clase Cuando

Más detalles

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA ARREGLOS EN JAVA I I N T R O D U C C I Ó N En las sesiones anteriores, los datos manejados en los programas han sido datos simples (carácter, entero, reales) En un gran número de problemas es necesario

Más detalles

Métodos de Programación

Métodos de Programación Métodos de Programación Tema 1. Introducción al diseño y especificación Tema 2. Clases, referencias y objetos en Java Tema 3. Modularidad y abstracción: aspectos avanzados Tema 4. Herencia y Polimorfismo

Más detalles

MANUAL TÉCNICO DEL PROXY UTN

MANUAL TÉCNICO DEL PROXY UTN MANUAL TÉCNICO DEL PROXY UTN El Proxy UTN fue desarrollado en Java con el JDK1.1.8, se emplearon los paquetes: java.net.- Para el manejo de comunicaciones de red. java.io.- Para manejo de entrada/salida.

Más detalles

Ejercicio 1 (3 puntos).-

Ejercicio 1 (3 puntos).- URJC Ingeniería Técnica de Gestión Abril 2011 Asignatura: SOFTWARE AVANZADO Normas: La prueba consta de 2 ejercicios. La máxima nota del examen es un 8. Siendo la práctica la que añade los 2 puntos que

Más detalles

FAMILIARIZANDONOS CON JAVA

FAMILIARIZANDONOS CON JAVA Programación Java - Ingeniería de Sistemas - UATF 1 Ing. Limber Ruíz Molina FAMILIARIZANDONOS CON JAVA 1.1 INTRODUCCIÓN El objetivo de este capítulo es empezar a familiarizarnos con el lenguaje JAVA, aunque

Más detalles

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

Colecciones. Nadjet Bouayad-Agha Programación 2007

Colecciones. Nadjet Bouayad-Agha Programación 2007 Colecciones Nadjet Bouayad-Agha Programación 2007 ArrayList Un ArrayList es un array dinámico. No tiene restricciones de capacidad. Su tamaño se ajusta de forma dinámica. Constructor por defecto: new ArrayList().

Más detalles

8. Sentencia return y métodos

8. Sentencia return y métodos 92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente

Más detalles

Las clases Java Socket y ServerSocket

Las clases Java Socket y ServerSocket Las clases Java Socket y ServerSocket Lenguajes y Herramientas de Programación Universidad de La Laguna Programa de Doctorado de Física e Informática Escuela Técnica Superior Superior de Ingeniería Informática

Más detalles

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación. Descripción de la semántica de ALFA En esta descripción sólo se mencionarán los aspectos en los que el lenguaje de programación ALFA pueda diferir de otros lenguajes de programación de alto nivel. Se sobreentienden

Más detalles

Etapa 3.1. Implementación de la clase Operacion

Etapa 3.1. Implementación de la clase Operacion Etapa 3.1. Implementación de la clase Operacion Enum tipooperacion {INGRESO, REINTEGRO Tipo enumerado. Hay que ponerlo al principio del fichero donde se implementa la clase Operación y la clase Cajero.

Más detalles

SOLUCION EXAMEN junio 2006

SOLUCION EXAMEN junio 2006 SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los

Más detalles

Introducción al lenguaje JAVA

Introducción al lenguaje JAVA Universidad Autónoma de Tlaxcala Introducción al lenguaje JAVA M.C.. José Juan Hernández ndez Mora Segunda Sesión 1. Arreglos 2. Matrices 3. Clases en Java 4. Clases de Usuario en Java 5. Objetos definidos

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión VIII Entrada y Salida... 5 Entrada de Datos... 8 Salida de Datos... 9 Flujo... 10 Scanner... 14

Más detalles

Entrada y salida de datos en C y C++

Entrada y salida de datos en C y C++ Universidad Nacional de Rosario Facultad de Ciencias Exactas, Ingeniería y Agrimensura Escuela de Ingeniería Electrónica Cátedra de Informática II Entrada y salida de datos en C y C++ Informática II Entrada/Salida

Más detalles

Manual del Protocolo XML-RPC de Mensajería Negocios

Manual del Protocolo XML-RPC de Mensajería Negocios Manual del Protocolo XML-RPC de Mensajería Negocios Índice de contenidos 1 INTRODUCCIÓN... 3 2 FUNCIONALIDADES DEL API DE COMUNICACIÓN XML-RPC... 4 2.1 Envío Libre... 4 2.2 Envío a Grupo de Contactos...

Más detalles

Repaso desarrollo de software Parte #1. Jorge Iván Meza Martínez jimezam@gmail.com

Repaso desarrollo de software Parte #1. Jorge Iván Meza Martínez jimezam@gmail.com Repaso desarrollo de software Parte #1 Jorge Iván Meza Martínez jimezam@gmail.com Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/55 Contenido Concepto desarrollo

Más detalles