Prácticas de Programación
|
|
|
- Ana Isabel Méndez Salazar
- hace 10 años
- Vistas:
Transcripción
1 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 tipos de datos Tema 6. Modularidad y abstracción: aspectos avanzados Tema 8. Verificación y prueba de programas Prácticas de Programación 18/05/ s 7.2. Flujos de datos (streams) 7.3. Salida binaria 7.4. Entrada binaria 7.5. Salida de texto 7.6. Entrada de texto 7.7. Entrada/Salida de texto con formato 7.8. Uso de ficheros como tablas 7.9. Resumen Bibliografía Prácticas de Programación 18/05/ s 7.1 s : secuencia de bytes en un dispositivo de almacenamiento: disco duro, CD, DVD, memoria USB,... se puede leer y/o escribir se identifica mediante un nombre (pathname) - /home/pepe/documentos/un_fichero Tipos de ficheros: programas: contienen instrucciones datos: contienen información, como números (enteros o reales), secuencias de caracteres,... en algunos sistemas operativos (como Linux) también son ficheros los directorios, los dispositivos, las tuberías,... Prácticas de Programación 18/05/10 3
2 s de texto y binarios 7.1 s Tipos de ficheros de datos: de bytes (binarios): pensados para ser leídos por un programa de caracteres (de texto): están pensados para ser leídos y/o creados por una persona binario Un número entero: 14 Otro número entero: Para entender los contenidos de un fichero es necesario conocer de antemano el tipo de datos que contiene Prácticas de Programación 18/05/ de texto 1 (código ASCII 0x31) 4 (código ASCII 0x34) h (código ASCII 0x68) o (código ASCII 0x6F) l (código ASCII 0x6C) a (código ASCII 0x61) Punteros de lectura y escritura 7.1 s Indican el próximo byte a leer o a escribir Gestionados automáticamente por el sistema operativo Comienzan apuntando al primer byte del fichero Van avanzando por el fichero según se van leyendo sus contenidos Ejemplo: puntero de lectura lectura de un int (4 bytes) puntero de lectura lectura de un short (2 bytes) puntero de lectura Prácticas de Programación 18/05/ Flujos de datos (streams) 7.2 Flujos de datos (streams) La Entrada/Salida de Java se organiza generalmente mediante objetos llamados Streams Un Stream es la generalización de un fichero: secuencia ordenada de datos con un determinado origen y destino Stream su origen o destino puede ser un fichero, pero también un string o un dispositivo (p.e. el teclado) Para poder usar un stream primero hay que abrirle se abre en el momento de su creación y hay que cerrarle cuando se deja de utilizar Las clases relacionadas con streams se encuentran definidas en el paquete java.io (io es la abreviatura de Input/Output) Prácticas de Programación 18/05/10 6
3 Clasificación de los streams 7.2 Flujos de datos (streams) Por el tipo de datos que transportan : binarios (de bytes) de caracteres (de texto) Por el sentido del flujo de datos: de entrada: los datos fluyen desde el dispositivo o fichero hacia el programa de salida: los datos fluyen desde el programa al dispositivo Según su cercanía al dispositivo: iniciadores: son los que directamente vuelcan o recogen los datos del dispositivo filtros: se sitúan entre un stream iniciador y el programa Prácticas de Programación 18/05/10 7 Uso de los Streams 7.2 Flujos de datos (streams) Normalmente se utilizan por parejas formadas por un stream iniciador y un filtro Binarios Objeto ObjectOutputStream bytes FileOutputStream Objeto ObjectInputStream bytes FileInputStream De Texto: String String FileWriter BufferedReader caracteres PrintWriter FileReader Prácticas de Programación 18/05/10 8 Jerarquía de clases Principales Streams binarios 7.2 Flujos de datos (streams) OutputStream: escritura de ficheros binarios FileOutputStream (iniciador): escribe bytes en un fichero ObjectOutputStream (filtro): convierte objetos y variables en arrays de bytes que pueden ser escritos en un OutputStream InputStream: lectura de ficheros binarios FileInputStream (iniciador): lee bytes de un fichero ObjectInputStream (filtro): convierte en objetos y variables los arrays de bytes leídos de un InputStream OutputStream InputStream FileOutputStream ObjectOutputStream FileInputStream ObjectInputStream Prácticas de Programación 18/05/10 9
4 Jerarquía de clases Principales Streams de caracteres 7.2 Flujos de datos (streams) Writer: escritura de ficheros de texto FileWriter (iniciador): escribe texto en un fichero PrintWriter (filtro): permite convertir a texto variables y objetos para escribirlos en un Writer Reader: lectura de ficheros de texto FileReader (iniciador): lee texto de un fichero BufferedReader (filtro): lee texto (línea a línea) de un Reader Writer Reader FileWriter PrintWriter FileReader BufferedReader Prácticas de Programación 18/05/10 10 Objetos stream predefinidos 7.2 Flujos de datos (streams) System.out: Salida estándar (consola) objeto de la clase PrintStream (subclase de OutputStream) - métodos print, println, printf,... System.err: Salida de error (consola) también es un objeto de la clase PrintStream System.in: Entrada estándar (teclado) objeto de la clase InputStream Deberían ser de las clases PrintWriter y BufferedReader pero los streams de caracteres no existían en las primeras versiones de Java siguen siendo streams binarios por compatibilidad con versiones antiguas Prácticas de Programación 18/05/ Salida binaria 7.3 Salida binaria Es posible escribir variables y objetos en un fichero binario Para poder escribir un objeto su clase debe implementar la interfaz Serializable, de la manera siguiente: import java.io.*; public class Nombre implements Serializable {... Se usa la pareja de streams FileOutputStream (iniciador) y ObjectOutputStream (filtro) Objeto ObjectOutputStream bytes FileOutputStream Prácticas de Programación 18/05/10 12
5 Clase FileOutputStream 7.3 Salida binaria Operaciones más habituales: Constructor. Requiere el nombre del fichero. Lo crea si no existe. Si existe se borran sus contenidos. Lanza FileNotFoundException si el fichero no se puede crear Igual que el anterior, salvo en que cuando añade es true no se borran los contenidos, sino que los datos se añaden al final del fichero Sincronizar Cerrar FileOutputStream(String s) throws FileNotFoundException FileOutputStream(String s, boolean añade) throws FileNotFoundException void flush() void close() Prácticas de Programación 18/05/10 13 Clase ObjectOutputStream 7.3 Salida binaria Operaciones más habituales: Constructor. Requiere un OutputStream ObjectOutputStream( OutputStream out) Escribir un booleano void writeboolean(boolean b) Escribir un double void writedouble(double d) Escribir un int void writeint(int i) Escribir un objeto Se escriben también los objetos a los que el objeto obj se refiere (y así recursivamente) Sincronizar (llama a out.flush()) Cerrar (llama a out.close()) void writeobject(object obj) void flush() void close() Todos los métodos (incluido el constructor) lanzan IOException error al acceder al OutputStream (normalmente un fichero) Prácticas de Programación 18/05/10 14 Ejemplo de escritura de objeto 7.3 Salida binaria Añadir a la clase Agenda del problema 2 una operación para grabar una agenda (incluyendo los contactos que contiene), a un fichero: Previamente ha sido necesario declarar las clases que se van a escribir como Serializable: import java.io.*; public class Contacto implements Serializable {... import java.io.*; public class Agenda implements Serializable {... Prácticas de Programación 18/05/10 15
6 El método a añadir a la clase Agenda es: 7.3 Salida binaria Ejemplo de escritura de objeto (cont.) public void salvaa(string nomfich) { ObjectOutputStream sal = null; try { // abre los streams iniciador y filtro sal = new ObjectOutputStream( new FileOutputStream(nomFich)); // graba el objeto actual sal.writeobject(this); finally { if (sal!= null) { sal.close(); // cierra los streams Prácticas de Programación 18/05/ Entrada binaria 7.4 Entrada binaria Es posible leer variables y objetos de un fichero binario que fue creado según lo expuesto en el apartado anterior Se usa la pareja de streams FileInputStream (iniciador) y ObjectInputStream (filtro) Objeto ObjectInputStream bytes FileInputStream Prácticas de Programación 18/05/10 17 Clase FileInputStream 7.4 Entrada binaria Operaciones más habituales: Constructor. Requiere el nombre del fichero. Si el fichero no existe lanza FileNotFoundException FileInputStream(String s) throws FileNotFoundException Prácticas de Programación 18/05/10 18
7 Clase ObjectInputStream 7.4 Entrada binaria Constructor. Requiere un InputStream Leer un booleano Leer un double Leer un int Leer un objeto (o un string). Al leer un objeto se leen también los objetos a los que éste se refiere Cerrar ObjectInputStream( InputStream in) boolean readboolean() double readdouble() int readint() Object readobject() void close() Los métodos lanzan las excepciones: - IOException: problema al acceder al InputStream - EOFException: alcanzado el fin de fichero - ClassNotFoundException: sólo producida por readobject Prácticas de Programación 18/05/10 19 Ejemplo de lectura de objetos 7.4 Entrada binaria static public Agenda leede(string nomfich), ClassNotFoundException { ObjectInputStream ent = null; try { // abre el fichero ent = new ObjectInputStream( new FileInputStream(nomFich)); // lee el objeto y le retorna return (Agenda)ent.readObject(); finally { if (ent!= null) { ent.close(); // cierra los streams Prácticas de Programación 18/05/ Salida de texto 7.5 Salida de texto Es posible escribir variables y strings en un fichero de texto Se usa la pareja de streams FileWriter (iniciador) y PrintWriter (filtro) String FileWriter caracteres PrintWriter Prácticas de Programación 18/05/10 21
8 Clase FileWriter Operaciones más habituales: Constructor. Requiere el nombre del fichero. Lo crea si no existe. Si existe se borran sus contenidos. Lanza FileNotFoundException si el fichero no se puede crear Igual que el anterior, salvo en que cuando añade es true no se borran los contenidos, sino que los datos se añaden al final del fichero FileWriter(String s), FileNotFoundException FileWriter(String s, boolean añade), FileNotFoundException 7.5 Salida de texto Prácticas de Programación 18/05/10 22 Clase PrintWriter Operaciones más habituales: Constructor. Requiere un Writer Constructor. Crea el FileWriter internamente Escribir un string Escribir un string con retorno de línea Escribe los argumentos con el formato deseado Sincroniza e informa si ha habido un error Sincronizar Cerrar 7.5 Salida de texto PrintWriter(Writer writer) PrintWriter(String nomfich) void print(string str) void println(string str) printf(string formato, Object... args) boolean checkerror() void flush() void close() Los métodos no lanzan IOException: - para saber si ha habido un error hay que llamar a checkerror Prácticas de Programación 18/05/ Salida de texto Ejemplo: escritura fichero de texto static void ejemploescribefichtexto(string nomfich, int i, double x, String str) { PrintWriter out = null; try { // crea los streams out = new PrintWriter(nomFich); // escribe los datos en el fichero out.println("entero: "+i+" Real: "+x); out.println("string: "+str); finally { if (out!= null) out.close(); Prácticas de Programación 18/05/10 24
9 7.5 Salida de texto Ejemplo: escritura fichero de texto (cont.) generado: Entero: 11 Real: 22.2 String: hola Prácticas de Programación 18/05/ Entrada de texto 7.6 Entrada de texto La lectura de un fichero de texto se realiza con la pareja de streams FileReader (iniciador) y BufferedReader (filtro) String BufferedReader caracteres FileReader En muchos casos será más práctico utilizar la clase Scanner en lugar de BufferedReader lo veremos en "Lectura con la clase Scanner" en la página 40 Prácticas de Programación 18/05/10 26 Clase FileReader 7.6 Entrada de texto Operaciones habituales: Constructor. Requiere el nombre del fichero. Si no existe lanza FileNotFoundException FileReader(String s) throws FileNotFoundException Prácticas de Programación 18/05/10 27
10 Clase BufferedReader 7.6 Entrada de texto Operaciones habituales Constructor. Requiere un Reader Leer un string. Retorna null si se ha llegado al final Lanza IOException si se produce un error al acceder al Reader Cerrar. Lanza IOException si se produce un error al acceder al Reader BufferedReader(Reader reader) String readline() void close() La lectura se realiza línea a línea con readline() luego cada línea se procesa (con split(), indexof(),...) y los trozos se convierten a otros datos con las operaciones parseint(), parsedouble(),... existe una forma alternativa de procesado: clase Scanner Prácticas de Programación 18/05/10 28 Ejemplo de lectura de fichero de texto 7.6 Entrada de texto Leer parejas de texto (una línea) y número (otra línea) y escribirlas en pantalla; ejemplo de fichero de entrada: primero 1.0 segundo 3.0 tercero 4.5 cuarto 8.0 quinto 34R.5 sexto 1.0 Prácticas de Programación 18/05/10 29 import java.io.*; 7.6 Entrada de texto Ejemplo de lectura de fichero de texto (cont.) public class LeeStrings { public static void main(string[] args) { String str, num; double x; BufferedReader ent = null; try { ent = new BufferedReader( new FileReader("d2.txt")); do { str=ent.readline(); // lee una línea // si hay más líneas seguimos procesando if (str!=null) { // escribe la línea de texto System.out.println("Texto: "+str); Prácticas de Programación 18/05/10 30
11 7.6 Entrada de texto Ejemplo de lectura de fichero de texto (cont.) // lee línea y la convierte a número num=ent.readline(); try { x=double.parsedouble(num); System.out.println("Numero:"+x); catch (NumberFormatException e) { System.out.println ("Error al "+ "leer el numero real: "+num); // try // if while (str!=null); finally { if (ent!=null) { ent.close(); // try // main // clase Prácticas de Programación 18/05/10 31 El programa muestra lo siguiente en la pantalla: Texto: primero Numero: 1.0 Texto: segundo Numero: 3.0 Texto: tercero Numero: 4.5 Texto: cuarto Numero: 8.0 Texto: quinto Error al leer el número real: 34R.5 Texto: sexto Numero: Entrada de texto Ejemplo de lectura de fichero de texto (cont.) Prácticas de Programación 18/05/10 32 La clase PrintWriter dispone de una operación de salida de texto con formato, llamada printf el objeto System.out que representa la pantalla, también está copiada del lenguaje C el primer parámetro es el string de formato luego viene un número variable de parámetros Ejemplo System.out.printf ("%s de %3d años", nombre, edad); Produce la salida (suponiendo nombre="pedro", edad=18) Pedro de 18 años Prácticas de Programación 18/05/10 33
12 String de formato Contiene caracteres que se muestran tal cual y especificaciones de formato que se sustituyen por los sucesivos parámetros Especificaciones de formato más habituales: %d enteros %c caracteres %s string %f float y double, coma fija %e float y double, notación exponencial %g float y double, exponencial o coma fija %n salto de línea en el formato del sist. operat. %% el carácter % Prácticas de Programación 18/05/10 34 String de formato (cont.) Puede lanzarse IllegalFormatException si el formato no corresponde al parámetro Después del carácter % se puede poner un carácter de opciones: - alinear a la izquierda 0 rellenar con ceros (números sólo) + poner signo siempre (números sólo) Para forzar la utilización del punto como separador de las cifras decimales: import java.util.locale;... Locale.setDefault(Locale.ENGLISH);... // usa printf Prácticas de Programación 18/05/10 35 Especificación de anchura y precisión Puede añadirse después del "%" (y el carácter de opción si lo hay) la especificación de anchura mínima y/o número de decimales; ejemplos Invocación de printf() Salida printf("pi= %4.0f %n", Math.PI); Pi= 3 printf("pi= %4.2f %n", Math.PI); Pi= 3.14 printf("pi= %12.4f %n", Math.PI); Pi= printf("pi= %12.8f %n", Math.PI); Pi= printf("i= %8d %n", 18); I= 18 printf("i= %4d %n", 18); I= 18 printf("i= %04d %n", 18); I= 0018 Prácticas de Programación 18/05/10 36
13 Ejemplo de uso de printf Añadir el método generalistado a la clase Curso: Escribe en un fichero de texto los datos de todos los alumnos del curso Alumno Curso -nombre:string -dni:string -nota:double * -listaalumnos... +Alumno(nombre: String, dni: String, nota: double) +nombre: String +dni: String +nota: double +generalistado (nomfich: String): void Prácticas de Programación 18/05/10 37 Ejemplo de uso de printf (cont.) public void generalistado(string nomfich) { PrintWriter out = null; try { // abre el fichero de texto out = new PrintWriter(new FileWriter(nomFich)); // escribe el listado alumno por alumno for(alumno a: listaalumnos) { // nombre con 25 carac. justificado a la izq. // nota con 4 carac. totales con un decimal out.printf("%-25s DNI:%s Nota:%4.1f%n", a.nombre(),a.dni(), a.nota()); finally { if (out!=null) out.close(); Prácticas de Programación 18/05/10 38 Ejemplo de uso de printf (cont.) de texto generado: Pepe García Hernández DNI: Nota: 5.0 Lolo Hernández García DNI: Nota: 0.0 Manu López Gómez DNI: Nota:10.0 Pepito Gómez López DNI: Nota: 7.5 Prácticas de Programación 18/05/10 39
14 Lectura con la clase Scanner La clase Scanner (paquete java.util) permite leer números y texto de un fichero de texto y de otras fuentes permite la lectura del texto línea a línea (similar a BufferedReader) permite la lectura sencilla de números y palabras separadas por el separador especificado - el separador por defecto es cualquier tipo de espacio en blanco (espacio, salto de línea, tabulador, etc.) - puede utilizarse otro separador utilizando el método usedelimiter permite reconocer patrones de texto conocidos como expresiones regulares Prácticas de Programación 18/05/10 40 Algunos usos de la clase Scanner Dato Scanner bytes InputStream binario Dato Scanner caracteres FileReader de texto Dato Scanner String Scanner se comporta como un stream filtro de caracteres aunque técnicamente no lo es, ya que no extiende a Reader Prácticas de Programación 18/05/10 41 Principales operaciones de la clase Scanner Constructor. Requiere un InputStream Scanner(InputStream source) Constructor. Requiere un objeto que implemente Readable (por ejemplo un FileReader) Constructor. Requiere un String Cerrar Configura el formato de los números. Usar Locale.ENGLISH para leer números que utilicen el carácter. como punto decimal Scanner(Readable source) Scanner(String source) void close() Scanner uselocale( Locale locale) Prácticas de Programación 18/05/10 42
15 Principales operaciones de la clase Scanner (cont.) Leer una línea Indica si quedan más líneas por leer Leer un booleano Indica si es posible leer una palabra que se interprete como un booleano Leer una palabra String nextline() boolean hasnextline() boolean nextboolean() boolean hasnextboolean() String next() Indica si quedan más palabras o datos por leer boolean hasnext() Leer un double Indica si es posible leer una palabra que se interprete como un double Leer un int Indica si es posible leer una palabra que se interprete como int Cambia el delimitador que separa los ítems double nextdouble() boolean hasnextdouble() int nextint() boolean hasnextint() Scanner usedelimiter( String pattern) Prácticas de Programación 18/05/10 43 Principales operaciones de la clase Scanner (cont.) Excepciones que pueden lanzar NoSuchElementException: no quedan más palabras IllegalStateException: el scanner está cerrado InputMismatchException: el dato leído no es del tipo esperado Prácticas de Programación 18/05/10 44 Ejemplo de procesado de fichero de texto con la clase Scanner public static void main() { final String nomfich="datos.txt"; Scanner in = null; try { // abre el fichero in = new Scanner(new FileReader(nomFich)); // configura el formato de números in.uselocale(locale.english); // lee el fichero palabra a palabra while (in.hasnext()) { // lee primera palabra String palabra = in.next(); System.out.println("Palabra:"+palabra); Prácticas de Programación 18/05/10 45
16 // lee números while (in.hasnextdouble()) { // lee un double double d = in.nextdouble(); Ejemplo de procesado de fichero de texto con la clase Scanner (cont.) System.out.println("Número:"+d); // while (in.hasnext()) catch (FileNotFoundException e) { System.out.println("Error abriendo el fichero " +nomfich); finally { if (in!=null){ in.close(); // try // main Prácticas de Programación 18/05/10 46 Ejemplo de procesado de fichero de texto con la clase Scanner (cont.) Para el fichero: azul rojo 2 verde La salida producida será: Palabra:azul Número:1.0 Número:3.5 Número:7.7 Palabra:rojo Número:2.0 Palabra:verde Número:10.0 Número:11.1 Prácticas de Programación 18/05/10 47 Ejemplo de procesado de la entrada estándar con la clase Scanner Lectura de un entero, una palabra y un texto de la entrada estándar (teclado) Scanner lectura = new Scanner(System.in); int n = lectura.nextint(); String palabra=lectura.next(); double d=lectura.nextdouble(); System.out.println("entero: "+n+ " palabra: "+ palabra+" real: "+d); Prácticas de Programación 18/05/10 48
17 Hasta ahora todos los ficheros se han manejado mediante clases que representan secuencias En muchas ocasiones es conveniente poder acceder a los datos en cualquier orden, como en una tabla las diferencias con un array son - tamaño no limitado a priori - memoria persistente (no volátil) Para ello Java dispone de la clase RandomAccessFile permite acceso aleatorio al fichero no es un Stream se puede usar para leer, o leer y escribir a la vez Prácticas de Programación 18/05/10 49 s de acceso aleatorio En java son ficheros que contienen bytes Se numeran con un índice que empieza en cero Existe un índice almacenado en el sistema que se llama el puntero de lectura/escritura las lecturas y escrituras se hacen a partir de él, en secuencia es posible cambiar el puntero de lectura/escritura Si escribimos pasado el final del fichero, su tamaño se amplía Prácticas de Programación 18/05/10 50 Principales operaciones Constructor. El String fich indica el nombre del fichero. El String modo será "r" para leer y "rw" para leer y escribir Retorna el tamaño actual en bytes del fichero Cambia el tamaño del fichero al indicado, en bytes Pone el puntero de lectura/escritura a pos Retorna el puntero de lectura/ escritura RandomAccessFile (String fich, String modo) throws FileNotFoundException long length() void setlength(long nueva) void seek(long pos) long getfilepointer() Prácticas de Programación 18/05/10 51
18 Principales operaciones Intenta leer un array de bytes. Retorna el número de bytes leídos, o -1 si no quedan más Lee repetidamente hasta rellenar el array de bytes completo. Lanza EOFException si se acaba el fichero y no se ha podido leer todo Lee un double. Lanza EOFException si se acaba el fichero Lee un int Lanza EOFException si se acaba el fichero Lee bytes convirtiéndolos a caracteres hasta encontrar un final de línea int read(byte[] b) void readfully(byte[] b) double readdouble() int readint() String readline() Prácticas de Programación 18/05/10 52 Principales operaciones Escribe un array de bytes void write(byte[] b) Escribe un double void writedouble(double d) Escribe un int void writeint(int i) Escribe los caracteres de un string convirtiéndolos primero a bytes (sólo vale para caracteres de 8 bits) Cerrar el fichero void writebytes(string s) void close() Prácticas de Programación 18/05/10 53 Ejemplo: Tabla de datos persistente import fundamentos.*; import java.io.*; /** * Clase que contiene los datos de un libro */ public class Libro { // constantes estáticas public static final int maxcaracterestítulo=100; public static final int tamañoenbytes = maxcaracterestitulo+1 // título + \n +Integer.SIZE/8 // publicado +Double.SIZE/8 // precio +1; // tamaño par // atributos privados private String título; private int publicado; // año de publicación private double precio; // en euros Prácticas de Programación 18/05/10 54
19 Ejemplo: Tabla de datos persistente (cont.) /** * Constructor al que se le pasan los datos del * libro */ public Libro(String titulo, int publicado, double precio) { // asegurarse de que el titulo no supera // maxcaracterestítulo if (titulo.length()>maxcaracterestítulo) { this.titulo= titulo.substring(0,maxcaracterestítulo); else { this.titulo=titulo; this.publicado=publicado; this.precio=precio; Prácticas de Programación 18/05/10 55 Ejemplo: Tabla de datos persistente (cont.) /** * Lee de fichero */ public static Libro leede( RandomAccessFile fich) { // lee los tres datos, por orden int publi=fich.readint(); double prec=fich.readdouble(); String tit=fich.readline().trim(); // crea y retorna el libro return new Libro(tit,publi,prec); Prácticas de Programación 18/05/10 56 Ejemplo: Tabla de datos persistente (cont.) /** * Escribe en el fichero */ public void escribeen( RandomAccessFile fich) { // escribe los tres datos, por orden fich.writeint(publicado); fich.writedouble(precio); fich.writebytes(titulo+'\n'); métodos observadores, tostring,... // clase Libro Prácticas de Programación 18/05/10 57
20 Ejemplo: Tabla de datos persistente (cont.) import java.io.*; import fundamentos.*; /** * Tabla de libros persistente almacenada en * un fichero de acceso aleatorio */ public class TablaLibros { // atributos privados private RandomAccessFile fich; /** * Constructor al que se le pasa el nombre * del fichero */ public TablaLibros(String nombre) throws FileNotFoundException { fich = new RandomAccessFile(nombre,"rw"); Prácticas de Programación 18/05/10 58 Ejemplo: Tabla de datos persistente (cont.) /** * Obtener el elemento de la tabla que esta en * "índice" */ public Libro obten(int índice) { // posiciona el contador de lectura/escritura long pos=indice*libro.tamañoenbytes; fich.seek(pos); // lee y retorna el libro return Libro.leeDe(fich); Prácticas de Programación 18/05/10 59 Ejemplo: Tabla de datos persistente (cont.) /** Escribir un libro en la posición "índice" * de la tabla */ public void almacena(int índice, Libro l) { // posiciona el contador de lectura/escritura long pos=indice*libro.tamañoenbytes; fich.seek(pos); // escribe el libro l.escribeen(fich); /** Cerrar la tabla */ public void cerrar() { fich.close(); // clase TablaLibros Prácticas de Programación 18/05/10 60
21 Ejemplo: Tabla de datos persistente (cont.) // ejemplo de uso de TablaLibros TablaLibros t = null; try { t = new TablaLibros("random.dat"); Libro libro1 = new Libro("Java", 2006, 15.0); Libro libro2 = new Libro("1984", 1949, 25.0); t.almacena(0,libro1); t.almacena(1,libro2); Libro l1= t.obten(0); Libro l2= t.obten(1); finally { if (t!= null) { t.cerrar(); Prácticas de Programación 18/05/10 61 Uso de objetos en ficheros de acceso aleatorio Para escribir objetos en ficheros de acceso aleatorio es preciso convertirlos a un array de bytes a este proceso se le llama serialización Para leer el objeto hay que deserializarlo La clase ByteArrayOutputStream nos ayuda en este proceso Tener cuidado pues la serialización incluye objetos a los que se hace referencia esto puede hacer que el tamaño del objeto serializado varíe mucho para acceso aleatorio es conveniente tener tamaños fijos Prácticas de Programación 18/05/10 62 Ejemplo de serialización // serializa un libro y le escribe en un fichero RandomAccessFile fich = null; try { // abre el fichero de acceso aleatorio fich = new RandomAccessFile (nomfich, "rw"); // pone el puntero al principio fich.seek(0l); // serializa el libro convirtiéndolo a una // secuencia de bytes ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(bos); out.writeobject(libro); out.close(); Prácticas de Programación 18/05/10 63
22 // obtiene los bytes del libro serializado byte[] buf = bos.tobytearray(); // escribe los bytes en el fichero fich.write(buf); finally { if (fich!=null) { fich.close(); Ejemplo de serialización (cont.) Prácticas de Programación 18/05/10 64 Ejemplo de deserialización // recupera del fichero un libro serializado RandomAccessFile fich = null; try { // abre el fichero de acceso aleatorio fich = new RandomAccessFile (nomfich, "r"); // pone el puntero al principio fich.seek(0l); // Lee un array de bytes del fichero byte[] bytes = new byte[(int) fich.length()]; fich.readfully(bytes); Prácticas de Programación 18/05/10 65 Ejemplo de serialización (cont.) // Deserializa el array de bytes ObjectInputStream in = new ObjectInputStream( new ByteArrayInputStream(bytes)); libro=(libro) in.readobject(); in.close(); finally { if (fich!=null) { fich.close(); Prácticas de Programación 18/05/10 66
23 7.9 Resumen 7.9 Resumen Tipos de acceso a ficheros: lectura de ficheros binarios escritura de ficheros binarios lectura de ficheros de texto línea a línea escritura de ficheros de texto lectura de ficheros de texto palabra a palabra (clase Scanner) lectura de ficheros binarios de acceso aleatorio escritura de ficheros binario de acceso aleatorio Prácticas de Programación 18/05/10 67 s Binarios 7.9 Resumen Escritura Objeto ObjectOutputStream bytes FileOutputStream Operaciones: writeboolean, writedouble, writeint, writeobject Lectura Objeto ObjectInputStream bytes FileInputStream Operaciones readboolean, readdouble, readint, readobject Prácticas de Programación 18/05/10 68 s de texto 7.9 Resumen Escritura String PrintWriter caracteres Operaciones: print, println, printf FileWriter Prácticas de Programación 18/05/10 69
24 s de texto 7.9 Resumen (cont.) Lectura (línea a línea) String BufferedReader caracteres FileReader Operaciones: readline Lectura (palabra a palabra) Dato Scanner caracteres FileReader de texto Operaciones: nextdouble, hasnextdouble, nextint, hasnextint, nextboolean, hasnextboolean, next, hasnext la clase Scanner también puede usarse como filtro de ficheros binarios o de strings Prácticas de Programación 18/05/10 70 s de acceso aleatorio Escritura Variable RandomAccessFile Binario 7.9 Resumen Operaciones: write, writedouble, writeint, writebytes Posicionamiento en el fichero: seek Lectura Variable RandomAccessFile Binario Operaciones read, readfully, readdouble, readint, readline Posicionamiento en el fichero: seek Prácticas de Programación 18/05/ Bibliografía 7.10 Bibliografía King, Kim N. Java programming: from the beginning. W. W. Norton & Company, cop The Java Turorials. Basic I/O. Francisco Gutiérrez, Francisco Durán, Ernesto Pimentel. Programación Orientada a Objetos con Java. Paraninfo, Ken Arnold, James Gosling, David Holmes, El lenguaje de programación Java, 3ª edición. Addison-Wesley, Eitel, Harvey M. y Deitel, Paul J., Cómo programar en Java, quinta edición. Pearson Educación, México, Prácticas de Programación 18/05/10 72
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
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
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
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) [email protected] Contenidos Generación de excepciones.
Introduciendo datos desde el
Introduciendo datos desde el teclado Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria [email protected] Objetivos Crear programas interactivos que lean datos
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
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.-
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.
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í
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 4. Tratamiento de errores Tema 5. Aspectos avanzados de los tipos de datos Tema 6. Modularidad
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
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
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
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
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)
Programación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer [email protected] Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la
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
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
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
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
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
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
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
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
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
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
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
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
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,
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
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
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,
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
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
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
10. Algunas clases estándar de Java (I)
Programación orientada a objetos con Java 113 10. Algunas clases estándar de Java (I) Objetivos: a) Presentar algunas de las clases predefinidas en Java b) Interpretar el código fuente de una aplicación
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
El lenguaje de Programación C. Fernando J. Pereda <[email protected]>
El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por
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
2.1. Introducción al lenguaje Java
Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida
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
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
Curso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos
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:
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
class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }
REUTILIZACIÓN DE CLASES:MODELO DE HERENCIA EN JAVA Java soporta herencia simple pero no múltiple. Lo hace mediante el mecanismo de extensión de clase. A partir de él, una subclase se extiende (hereda)
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
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Encapsulamiento: Control de Acceso Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes
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
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
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
Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.
Partes de un programa en Java A. Ejemplo de un Programa en Java /* class Ejemplo1 { //comienza la clase Ejemplo1. public static void main(string[] args) { // comienza el método main. JFrame miventana;
Introducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS
Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Por Andrés Raúl Bruno Saravia Entrega Nº 5. Cómo declaramos una variable en Lenguaje C? En C siempre se deben declarar las variables.
Introducción a la Programación 11 O. Humberto Cervantes Maceda
Introducción a la Programación 11 O Humberto Cervantes Maceda Recordando En la sesión anterior vimos que la información almacenada en la memoria, y por lo tanto aquella que procesa la unidad central de
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
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
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
Introducción a la Programación Orientada a Objetos
Introducción a la Programación Orientada a Objetos El paradigma imperativo. En un programa se tienen una serie de variables con las cuales operamos y modificamos mediante sentencias y funciones para producir
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
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
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
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
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
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
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
Carmen. Estándares de codificación. Manuel Arias Calleja
Carmen. Estándares de codificación Manuel Arias Calleja II Índice general 1. Estandares de codificación 1 1.1. Nombres de ficheros........................ 1 1.2. Organización de ficheros......................
Programación Orientada a Objetos. Java: Excepciones
Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España
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
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
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
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
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,
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
Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
Pruebas de unidad con JUnit
Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro
Java Inicial (20 horas)
Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción
Introducción a la Programación en Java. Page 1
Introducción a la Programación en Java Page 1 Qué es Java? Java es un lenguaje de programación de propósito general, orientado a objetos que fue diseñado específicamente para tener tan pocas dependencias
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
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
LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)
APRENDERAPROGRAMAR.COM LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde
!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!
INFORMÁTICA Práctica4. ProgramaciónbásicaenC. GradoenIngenieríaenElectrónicayAutomáticaIndustrial Curso2015H2016 v2.1(18.09.2015) A continuación figuran una serie de ejercicios propuestos, agrupados por
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
Curso 2010-2011. Informática Lección 2. Introducción a la programación en Java
Fundamentos de Informática Lección 2. Introducción a la programación en Java Curso 2010-2011 Pedro Álvarez y José Ángel Bañares 24/09/2010. Dpto. Informática e Ingeniería de Sistemas. Índice de contenidos
EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011
EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando
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
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
A25. Informática aplicada a la gestión Curso 2005/2006 Word Tema 3. Formato de sección.
DEPARTAMENTO DE LENGUAJES Y SISTEMAS INFORMÁTICOS ESCUELA SUPERIOR DE TECNOLOGÍA Y CIENCIAS EXPERIMENTALES A.D.E.M. Segundo Curso A25. Informática aplicada a la gestión Curso 2005/2006 Word Tema 3. Formato
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
Tipos primitivos y clases de interés
Programación Avanzada para Sistemas de Telecomunicación Tipos primitivos y clases de interés Juan Carlos Cruellas [email protected] Objetos y clases Tipos primitivos. Clase String y asociadas. Clases
MODULO DE PROGRAMACION JAVA Nivel Básico-Intermedio
MODULO DE PROGRAMACION JAVA Nivel Básico-Intermedio Objetivo general: Introducir al participante en los conceptos y herramientas más importantes del lenguaje javo para la programación de objetos. Duración
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
INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03.
INFORMÁTICA Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial Curso 2013-2014 v1.0 (05.03.14) A continuación figuran una serie de ejercicios propuestos, agrupados
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión
Tema 3 Elementos básicos de programación
Representación de Datos y Aplicaciones Tema 3 Elementos básicos de programación Natividad Martínez Madrid [email protected] Objetivos del tema 3 Conocer la estructura básica de un programa Java Comprender
