Metodos de entrada y Salida
Upcoming SlideShare
Loading in...5
×
 

Metodos de entrada y Salida

on

  • 17,035 views

Metodos de Entrada y Salida utilizados en Java

Metodos de Entrada y Salida utilizados en Java

Statistics

Views

Total Views
17,035
Views on SlideShare
17,018
Embed Views
17

Actions

Likes
1
Downloads
114
Comments
0

4 Embeds 17

http://www.slideshare.net 14
http://dms2.dimdim.com 1
http://translate.googleusercontent.com 1
http://learning-solutions.blogspot.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Metodos de entrada y Salida Metodos de entrada y Salida Presentation Transcript

  • Universidad Politécnica Salesiana Integrantes: Carlos de la Torre Cristian Guachamin María Auxiliadora Montalvo Diego Noboa Javier Salinas Silvia Vega Métodos de Entrada y Salida
  • Conceptos básicos de entrada y salida
    • Todo programa de computadora opera sobre un conjunto de datos de entrada y produce algún tipo de salida. Este repartido explica la forma en que Java maneja la entrada y salida de datos.
  • Archivos, directorios, rutas (File, Directory, Path)
    • Un archivo es un conjunto de datos de largo variable identificado con un nombre. Un nombre de archivo suele tener dos partes separadas por un punto. La primera parte alude a su propósito; la segunda, llamada extensión , indica el tipo de datos que contiene. Un archivo cuyo nombre termina en “.class” contiene la definición de una clase Java y el código ejecutable para sus métodos; un archivo terminado en ".java" contiene el texto del código fuente escrito por el programador.
  • Tipos de acceso a datos
    • Acceso aleatorio ("random") : Los archivos de acceso aleatorio, al igual que lo que sucede usualmente con la memoria (RAM=Random Access Memory), permiten acceder a los datos en forma no secuencial, desordenada. Esto implica que el archivo debe estar disponible en su totalidad al momento de ser accedido, algo que no siempre es posible.
    • Acceso secuencial (flujos o "streams") : En este caso los datos son leídos secuencialmente, desde el comienzo del archivo hasta el final (el cual muchas veces no se conoce a priori). Este es el caso de la lectura del teclado o la escritura en una consola de texto, no se sabe cuándo el operador terminará de escribir.
    • Concatenación (tuberías o "pipes") : Muchas veces es útil armar conexiones entre programas que corren simultáneamente dentro de una misma máquina, de forma que lo que uno produce se envía por un “tubo” para ser recibido por el otro, que está esperando a la salida del tubo. Las tuberías o "pipes" cumplen esta función.
  • Entrada y salida estándar (Standard I/O)
    • En sistemas como MS Windows o Unix (incluyendo Linux), en donde existe el concepto de terminal o consola de texto, el sistema operativo provee un mecanismo básico de interacción con el usuario conectando el flujo de datos proveniente del teclado a la llamada “entrada estándar” del programa, mostrando la "salida estándar" del programa como texto desplegado en la pantalla.
  • Flujos de entrada y salida
    • Un flujo de entrada / salida (I/O stream, Input / Output stream) representa una fuente desde la cual se reciben datos o un destino hacia el cual se envían datos. Los datos pueden ser bytes, tipos primitivos, caracteres propios de un idioma local, u objetos. Los flujos pueden simplemente transferir datos sin modificación o manipular esos datos para transformarlos de diversas maneras como parte del proceso de transferencia.
  • Flujos de Bytes (Byte Streams)
    • Los flujos de bytes realizan operaciones de entrada y salida en base a bytes de 8 bits. Todos las clases de flujos de bytes descienden de las clases InputStream y OutputStream. Las clases
    • FileInputStream y FileOutputStream manipulan flujos de bytes provenientes o dirigidos hacia archivos en disco.
  • Flujos de Caracteres
    • El uso de flujos de bytes sólo es apto para las operaciones más elementales de entrada salida; es preciso usar los flujos más adecuados según los tipos de datos a manejar.
  • Entrada salida desde la línea de comando
    • Un programa puede correrse desde la línea de comando en una terminal, e interactuar con el usuario para pedir ingreso de datos. En Java hay tres flujos estándar: la entrada estándar ( Standard Input ), accesible a través del objeto System.in; la salida estándar ( Standard Output ), accesible a través del objeto System.out; y el error estándar ( Standard Error ) accessible a través del objeto System.err.
  • Flujos de datos
    • Los flujos de datos soportan operaciones de entrada salida de datos de tipo primitivo (boolean, char, byte, short, int, long, float, y double) así como cadenas de caracteres (String). Los flujos de datos implementan la interfaz DataInput o la interfaz DataOutput. Las
    • implementaciones más usadas de estas interfaces son las clases DataInputStream y DataOutputStream.
  • Flujos de objetos.
    • Los flujos de objetos permiten realizar operaciones de entrada salida de objetos. Muchas de las clases estándar soportan serialización de sus objetos, implementando la interfaz Serializable.
    • La serialización de objetos permite guardar el objeto en un archivo escribiendo sus datos en un flujo de bytes. Es posible luego leer desde el archivo el flujo de bytes y reconstruir el objeto original. Las clases de flujos de objetos son ObjectInputStream y ObjectOutputStream. Estas clases implementan las interfaces ObjectInput y ObjectOutput, subinterfaces de DataInput y DataOutput.
  • Entrada salida de archivos
    • Existen operaciones de entrada salida sobre archivos que no pueden tratarse como flujos de 8 de 13 datos. La clase File permite examinar y manipular archivos y directorios, en forma independiente de la plataforma (MS Windows, Solaris, Linux). Los archivos pueden accederse también en forma no secuencial o aleatoria (random access files); existen clases específicas para acceder a los archivos sin necesidad de recorrerlos ordenadamente.
  • Objetos de tipo File
    • Las instancias de la clase File representan nombres de archivo, no los archivos en sí. El archivo correspondiente a un nombre puede no existir. Un objeto de clase File permite examinar el nombre del archivo, descomponerlo en su rama de directorios, o crear el archivo si no existe pasando el
    • objeto de tipo File a un constructor adecuado como FileWriter(File f).
  • Objetos de tipo File
    • Si el objeto File se refiere a un archivo existente un programa puede usar este objeto para realizar una serie de operaciones sobre el archivo:
    • • el método delete() borra el archivo inmediatamente; deleteOnExit() lo borra cuando finaliza la ejecución de la máquina virtual Java.
    • • setLastModified() permite fijar la fecha y hora de modificación del archivo.
    • • el método renameTo() permite renombrar el archivo, aunque el objeto File dejará de referirse al archivo renombrado, ya que el String con el nombre del archivo en el objeto File no cambia.
    • • el método mkdir() crea un directorio, mkdirs() también, pero crea los directorios superiores si no existen.
    • • los métodos list() y listFiles() listan el contenido de un directorio. list() devuelve un arreglo de String con los nombres de los archivos, listFiles() devuelve un arreglo de objetos File.
    • • el método estático createTempFile() crea un nuevo archivo con un nombre único de su creación y devuelve un objeto File que apunta a él. Es útil para crear archivos temporales, que luego se borran, asegurándose de tener un nombre de archivo no repetido.
    • • el método estático listRoots() devuelve una lista de nombres de archivo correspondientes a la raíz de los sistemas de archivos. En Microsoft Windows serán de formato a: y c:, en UNIX y Linux será el directorio raíz único /.
  • Archivos de acceso aleatorio
    • Un archivo de acceso aleatorio permite leer o escribir datos en forma no secuencial. El contenido de un archivo suele consistir en un conjunto de partes o registros, generalmente de distinto tamaño. Una búsqueda de información en el archivo equivale a ubicar un determinado registro. En el acceso secuencial es preciso leer el archivo pasando por todos sus registros hasta llegar al registro que se desea ubicar.
  • Tuberías
    • Las clases PipedInputStream y PipedOutputStream son utilizadas en conjunto para transmitir datos de una punta a la otra de un tubo. Este mecanismo permite transferir datos entre
    • programas.
  • Codificación de caracteres
    • Las clases InputStream, OutputStream y sus asociadas mueven datos a nivel de bytes. Un byte es la unidad de información tradicionalmente utilizada en computadoras. El tamaño de un byte (8 bits de valor 0 o 1) es suficiente para representar pequeños números (256 valores posibles) así como letras y símbolos del alfabeto inglés (código ASCII, usualmente pronunciado “asqui”) o bien de alfabetos similares como los derivados del latín (norma ISO88591).
  • El paquete java.io
    • El examen de la API de Java muestra la complejidad y variedad de clases contenidas en el paquete java.io. La visión "Tree" en la API de java.io muestra la jerarquía de clases. Algunas otras clases útiles permiten:
    • • manipular archivos comprimidos en el paquete java . util . zip: ZipFile , ZipInputStream , ZipOutputStream ), para formato ZIP, y sus equivalentes GZIPFile , etc. para formato GZIP, agregar checksums para detectar errores o alteraciones de
    • archivos, CheckedInputStream , CheckedOutputStream.
    • • manejar archivos tipo JAR (Java ARchive, también tipo ZIP) en java.util.jar .
  • GRACIAS…
  •