1 Entrada/Salida en Java Jaime Ramírez, Ángel Lucas González DLSIIS. Facultad de Informática Universidad Politécnica de Madrid.

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Advertisements

FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 13 Ing. Ronald Criollo.
Curso de java básico (scjp)
Curso de java básico (scjp)
Interprete o máquina real
Java nos ofrece System.out para escribir en pantalla, pero también tenemos System.in para leer. System.in es un objeto de una clase de java que se llama.
Los paquetes básicos de Java son los de uso más habitual, contienen clases que se emplean en todo tipo de aplicaciones Java. A continuación ofrecemos un.
Archivos de Texto. Introducción Los archivos son una secuencia de bits que se guarda en el disco duro. La ventaja de utilizar archivos es que los datos.
Archivos Binarios Usando Serializable. Introducción Utilizar archivos binarios nos ayuda a guardar y leer más fácilmente los datos de archivos. Pero como.
DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME CONECTIVIDAD Ing. Ronald Criollo.
Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
Unidad 7 Manejo de Archivos Copyright © 2005.
Entrada y salida Fundamentos de programación/Programación I
ENTRADA/SALIDA ENTRADA/SALIDA DESDE O HACIA UN PROCESO
Unidad 1. Manejo de ficheros
Modularidad Estructura de datos.
Archivos Implementar un método que lea una secuencia de números enteros de un archivo y compute la cantidad de elementos leídos.
Defina una clase TempMinMaxEst que encapsule la representación de las temperaturas mínimas y máximas registradas en una estación meteorológica y brinde.
Genéricos en Java Jaime Ramírez, Ángel Lucas González
Tema 1. Introducción a la programación (Lenguaje java).
1.2 Sintaxis del lenguaje Java.
2.4 Construcción de un TAD a partir de otro.
/*Desarrollar una solución que permita ingresar y almacenar el promedio de prácticas, la nota del examen parcial y la nota del examen final de todos.
El Socket Un socket es un extremo de un link de comunicación entre dos programas que corren en una red. El socket esta asociado (amarrado, bound) a ub.
Archivos Contenido: Archivos de Texto Archivos de Acceso Aleatorio
Material Elaborado por: Lic. Saily González. CONTENIDO 2.1- Estructura de una Aplicación JAVA 2.2- Elementos básicos de la Programación JAVA Comentarios.
Excepciones y archivos Info 033. Exception El término Exception es la palabra corta para la frase "evento excepcional." Definition: Una excepción es un.
Recursión Se dice que un método es recursivo si forma parte de sí mismo o se define en función de sí mismo. La recursión es un medio particularmente poderoso.
Lenguajes de Programación Tema 4. Paradigma Orientado a Objetos Java 1.5 Pedro García López
Introducción a la Programación Orientada a Objetos Redefinición y Sobrecarga Dada la siguiente jerarquía de clases: Alfa Delta Beta.
RMI JAVA Implementación.
Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
Curso Programación en Java
Curso de Computación.  Manipular una colección de datos usando vectores  Declarar y utilizar un vector de tipos de datos primitivos en la implementación.
Creación de Aplicaciones
En Java las estructuras de repetición son las mismas que en C/C++.
Unidad I Java y C++ : Similitudes y diferencias
If anidados y Switch Prof. Lillian Bras.
Public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = ;// miembro constante public float.
Input – Scanner y Cajas de diálogo
1 Streams en Java Agustín J. González ELO Generalidades Un Stream es simplemente una fuente o destino de bytes. Los streams más comunes son los.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter N - 1 Capitulo 12 Archivos de Ingreso y Salida.
Archivos y Búsqueda Secuencial
Sockets en Java. Sockets ● Para programar aplicaciones en red en Java se utilizan los Sockets. ● Un socket permite establecer y manejar una conexión entre.
Suponiendo que además en la clase U hay: import java.util.*; class U{ static Scanner teclado = new Scanner(System.in); static public int readInt(String.
JAVA J.A.C..
1 Programación Interactiva Archivos Escuela de Ingeniería de Sistemas y Computación Facultad de Ingeniería Universidad del Valle.
Estructuras de control Introducción a la programación.
7. Interfaces Herencia múltiple Interfaces Comparable y Comparator
3.  Recursividad.
Entrada y Salida Java. Clase File La clase File proporciona mucha informacion relacionada con archivos y con la obtencion de informacion basica sobre.
Programación I :: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
Curso Programación en Java
Programación Orientada a Objetos
Entrada / Salida. Java adopta de Unix el concepto de stream Un stream es un flujo de datos (secuencia de bytes) que va de una fuente a un destino. Desde.
El lenguaje de programación Java
1 Unidad IV Archivos en Java y C++ M.C. Juan Carlos Olivares Rojas.
Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.
PAQUETES Un paquete es un conjunto de clases, interfaces y subpaquetes relacionados. El paquete define un ámbito de visibilidad: los miembros que no tienen.
1 Streams y Persistencia en Java Agustín J. González ELO-329.
Agustín J. González ELO-329
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2009.
ARREGLOS. La sintaxis para declarar e inicializar un array será: Tipo_de_variable[ ] Nombre_del_array = new Tipo_de_variable[dimensión]; También podemos.
Estrategias de Persistencia. Program start Program execution Time Program start Program end Object creation Object edition Program end Object Lifetime.
Programación I :: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
Flujos de datos Un flujo es un canal por donde fluyen los datos.
Unidad 3. Introducción a la programación
FLUJOS (Flujos de Bytes-Caracteres)
Streams y Persistencia en Java
Programación Orientada a Objetos
Transcripción de la presentación:

1 Entrada/Salida en Java Jaime Ramírez, Ángel Lucas González DLSIIS. Facultad de Informática Universidad Politécnica de Madrid.

2 Streams Un stream representa un flujo de información: procedente de una fuente (teclado, file, memoria, red, etc.) o dirigida a un destino (pantalla, file, etc.) Los streams comparten una misma interfaz que hace abstracción de los detalles específicos de cada dispositivo de E/S. Todas las clases de streams están en el paquete java.io

3 Clases de Streams (Streams orientados a byte) Los módulos sombreados representan fuentes de datos. Los módulos sin sombrear representan procesadores. Los procesadores se pueden aplicar a otro procesador o a una fuente.

4 Subclases de InputStream FileInputStream: lectura de files byte a byte ObjectInputStream: lectura de files con objetos. FilterInputStream: –BufferedInputStream: lectura con buffer, más eficiente. –DataInputStream: lectura de tipos de datos primitivos (int, double, etc.).

5 Subclases de OutputStream FileOutputStream: escritura de files byte a byte ObjectOutputStream: escritura de files con objetos. FilterOutputStream: –BufferedOutputStream: escritura con buffer, más eficiente. –DataOutputStream: escritura de tipos de datos primitivos (int, double, etc.).

6 Clases de Streams (Streams orientados a caracter) Soportan UNICODE (16 bits para un char). Módulos sombreados son fuentes, y sin sombrear son procesadores.

7 Subclases de Reader InputStreamReader: convierte un stream de bytes en un stream de chars. –FileReader: se asocia a files de chars para leerlos. BufferedReader: proporciona entrada de caracteres a través de un buffer (más eficiencia).

8 Subclases de Writer OutputStreamWriter: convierte un stream de bytes en un stream de chars. –FileWriter: se asocia a files de chars para modificarlos. BufferedWriter: proporciona salida de caracteres a través de un buffer (más eficiencia). PrintWriter: métodos print() y println() para distintos tipos de datos.

9 Otras Clases de java.io File: permite realizar operaciones habituales con files y directorios. RandomAccessFile: permite acceder al n- ésimo registro de un file sin pasar por los anteriores. StreamTokenizer: permite trocear un stream en tokens.

10 Típicos Usos de los Streams (lectura por líneas) public static void main(String[] args) throws IOException { // 1a. Se lee un file línea a línea BufferedReader in = new BufferedReader( new FileReader("IOStreamDemo.java")); String s, s2 = new String(); while((s = in.readLine())!= null) s2 += s + "\n"; in.close(); // 1b. Se lee una línea por teclado BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Enter a line:"); System.out.println(stdin.readLine()); }

11 Parsing de tipos básicos String linea; int a; BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Enter a line:"); linea = stdin.readLine(); a = Integer.parseInt(linea); System.out.println(a); También están disponibles: parseDouble(), parseLong()

12 Típicos Usos de los Streams (escritura por líneas) // throws IOException String []s = {hola, que, tal}; // Se inicializa s PrintWriter out1 = new PrintWriter( new BufferedWriter( new FileWriter("IODemo.out"))); int lineCount = 1; for (int i=0; i<s.length(); i++) out1.println(lineCount++ + ": " + s[i]); out1.close();

13 Típicos Usos de los Streams (escritura de tipos básicos) // throws IOException DataOutputStream out2 = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("Data.txt"))); out2.writeDouble( ); out2.writeBytes("That was pi\n); out2.writeChars( "That was pi\n); out2.writeDouble( ); out2.writeUTF("Square root of 2"); out2.close();

14 Típicos Usos de los Streams (lectura de tipos básicos) // throws IOException DataInputStream in5 = new DataInputStream( new BufferedInputStream( new FileInputStream("Data.txt"))); System.out.println(in5.readDouble()); System.out.println(in5.readLine()); // deprecated System.out.println(in5.readDouble()); System.out.println(in5.readUTF());

15 Típicos Usos de los Streams (files de acceso aleatorio) // throws IOException // acceso de lectura/escritura RandomAccessFile rf = new RandomAccessFile("rtest.dat", "rw"); for(int i = 0; i < 10; i++) rf.writeDouble(i*1.00); rf.close(); rf = new RandomAccessFile("rtest.dat", "rw"); rf.seek(5*8); // salta 5 doubles (8 bytes cada uno) rf.writeDouble(47.00); // modifica el sexto double rf.close(); // acceso de sólo lectura rf = new RandomAccessFile("rtest.dat", "r"); for(int i = 0; i < 10; i++) System.out.println( "Value " + i + ": " + rf.readDouble()); rf.close();

16 Típicos Usos de los Streams (Object Stream) Java permite guardar objetos en ficheros, pero esos objetos deben implementar la interfaz Serializable: public class MySerializableClass implements Serializable {... } Ejemplo: // throws IOException FileOutputStream out = new FileOutputStream("theTime.dat"); ObjectOutputStream s = new ObjectOutputStream(out); s.writeObject("Today"); s.writeObject(new Date(1,1,2006)); s.close(); // throws IOException y ClassNotFoundException FileInputStream in = new FileInputStream("theTime.dat"); ObjectInputStream s = new ObjectInputStream(in); String today = (String)s.readObject(); Date date = (Date)s.readObject(); s.close();