Your SlideShare is downloading. ×
0
Definición                                        Clases•Es el mecanismo utilizado pararealizar operaciones de Entrada/Sal...
Definición                                                Clases•Son clases abstractas que                                ...
Definición                                                Clases•Son clases abstractas que                                ...
Funciones•Es el tipo de acceso más simple a unfichero•Puede almacenar ficheros decualquier magnitud.•Cuando la información...
Funciones                                            Ejemplo•Permite escribir bytes en un fichero•Hereda los métodos de la...
Ejemplo            Funciones                                           import java.io.*;                                  ...
Ejemplo                                             import java.io.*;             Funciones                       public c...
Funciones                                                                 Lectura recomendada•Se puede utilizar la clase F...
DataOutputStream               Las siguientes líneas de código                                                            ...
Funciones                                        Métodos de acceso Aleatorio•Sirve para escribir en unadeterminada posició...
Funciones                                                   Ejemplo• Es la operación de enviar una serie     import java.i...
Flujos de Entrada y Salida en Java
Upcoming SlideShare
Loading in...5
×

Flujos de Entrada y Salida en Java

5,080

Published on

Flujos de Entrada y Salida en Java!!!
Iv Unidad de programación 1, Ingeniería de Sistemas, UNI - RUPAP

Published in: Education
1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total Views
5,080
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
170
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

Transcript of "Flujos de Entrada y Salida en Java"

  1. 1. Definición Clases•Es el mecanismo utilizado pararealizar operaciones de Entrada/Salida Object•De la misma manera se gestiona laentrada / salida sobre dispositivoscomo:teclado, pantalla, mouse, impresora,conexión de red•Hay dispositivos que ya tienen suflujo predefinido como la pantalla InputSteam OutputSteampor ejemplo•Hay dispositivos que no lotienen, como por ejemplo unaimpresora•Las diferentes clases de flujos seencuentras agrupadas en java.io Reader Writer Los flujos son muy importantes Random puesto que … manejan las AccesFile E/S de un programa
  2. 2. Definición Clases•Son clases abstractas que Entrada yrepresentan el flujo de Salida de Datosentrada/salida de bytes.•Definen la funcionalidad básicacomún de todas las clases de flujo debytes•Dentro de las subclases deInputSteam tenemos:FileInputStream, ByteArrayInputStream, SequenceInputStream, etc. Flujos•Dentro de las subclases deOutputStream están:FileOutputSream, ObjectOutputStrea Gestión de Excepcionesm, FileOutputStream, etc. Archivos Investiga las Puedes encontrar subclases de más información InputStream y en el libro de OutputSteam java2 en la página 361 Capítulo 14
  3. 3. Definición Clases•Son clases abstractas que Entrada yrepresentan el flujo de Salida de Datosentrada/salida de bytes.•Definen la funcionalidad básicacomún de todas las clases de flujo debytes•Dentro de las subclases deInputStream tenemos:FileInputStream, ByteArrayInputStream, SequenceInputStream, etc. Flujos•Dentro de las subclases deOutputStream están:FileOutputSream, ObjectOutputStrea Gestión de Excepcionesm, FileOutputStream, etc. Archivos Investiga las Puedes encontrar subclases de más información InputStream y en el libro de OutputSteam java2 en la página 361 Capítulo 14
  4. 4. Funciones•Es el tipo de acceso más simple a unfichero•Puede almacenar ficheros decualquier magnitud.•Cuando la información se escriberegistro a registro, estos son FileOutputStreamcolocados uno a continuación delotro•Se utiliza con ficheros donde secoloca la información de principio afinal y se lee de la misma forma•Los ficheros pueden ser escritos oleidos utilizando FileOutputStream yFileInputStream Los flujos permiten la salida y entrada de datos FileInputStream
  5. 5. Funciones Ejemplo•Permite escribir bytes en un fichero•Hereda los métodos de la clase import java.io.*;OutputStream y trabaja con 3 public class Escribir_fichero {constructores: public static void main(String[] args) {1. FileOutputStream(String FileOutputStream fs = null; nombre); byte[] buffer = new byte [81];2. FileOutputStream(String int nbytes; nombre,bool); try3. FileOutputStream(File fichero); {• El primero abre un flujo de salida System.out.println("Escriba el texto que desea hacia un fichero especificado almacenar en el fichero");• El segundo hace lo mismo, la nbytes = System.in.read(buffer); única diferencia es que puede fs= new FileOutputStream ("text.txt",true); continuar agregando información fs.write(buffer , 0 ,nbytes); una vez que ya exista el fichero System.out.println(nbytes);• El tercero lo hace a partir de un } objeto File catch(IOException e) { System.out.println("Error"); } FileOuputStre } am nos } permite escribir bytes en un fichero
  6. 6. Ejemplo Funciones import java.io.*; public class CleerBytes•Permite leer bytes desde un fichero {•Proporciona los constructores public static void main (String args [])siguientes: {1. FileInputStream(String nombre) FileInputStream fe= null;2. FileInputStream(File fichero) byte [] buffer = new byte [81];• El primero abre un flujo de int nbytes; entrada desde el fichero try especificado {• El segundo lo hace a partir de un fe= new FileInputStream("text.txt"); archivo File nbytes = fe.read(buffer,0,81); String str = new String(buffer,0,nbytes); System.out.println(str); } catch(IOException e) { FileInputStrea System.out.println("Error" +e.toString()); m nos permite } leer bytes de finally un fichero { try { if(fe != null) fe.close(); } catch(IOException e) { System.out.println("Error" + e.toString()); }}}}
  7. 7. Ejemplo import java.io.*; Funciones public class Listado { public static void main (String args[])•Permite: {1. Obtener el tamaño del archivo System.out.println("Indique nombre de subdirectorio");2. Obtener el nombre completo, ruta System.out.println("Trayectoria Absoluta, ej: C:libro"); incluida String nomdir = Leer.Leer_String();3. Cambiar nombre File arch = new File(nomdir);4. Eliminar nombre if(arch.exists())5. Saber si es directorio o archivo {6. Si es un directorio obtener la lista if(arch.isDirectory()) de archivos y directorios que { contiene System.out.println("Contenido de "+ nomdir);7. Crear un directorio String arr [] = arch.list(); for(int j=3; j<arr.length;j++) { File otro = new File(nomdir + ""+ arr[j]); if (otro.isDirectory()) La clase File System.out.println(arr[j]+ "<DIR>"); no sirve para else Leer ni para System.out.println(arr[j]); escribir en un } archivo } else System.out.println(nomdir + " no es un directorio"); } else System.out.println("No existe"); } }
  8. 8. Funciones Lectura recomendada•Se puede utilizar la clase File parareferirse al archivo•La clase File permite trabajar contres tipos de constructores:1. Public File(String ruta completa)2. Public File(String Ruta, String •Como lectura recomendada te dejamos nombre) los métodos de la clase File3. Public File (File ruta, String •Así mismo también las clases de Flujos nombre) de caracteres: Reader, FileWriter,4. El primero crea una archivo a FileReader partir de la ruta completa, el •También leer sobre Flujos de datos segundo a partir de la ruta y el nombre, siempre trabajando con cadenas; y el tercero lo crea a partir de otro y el nombre del fichero La clase File no sirve para Leer ni para escribir en un archivo . Como tarea, puedes Sin embargo se buscar los métodos puede utilizar como de la clase File, y leer alternativa en el para que sirve cada constructor uno de ellos!!!!
  9. 9. DataOutputStream Las siguientes líneas de código definen un filtro que permitirá Deriva directamente de escribir haciendo uso de OutputStream DataOutputStream: Funciones Permite escribir un flujo de FileOutputStream fos= new salida subordinado, datos FileOutputStream(datos.dat);•Sirve para escribir en un fichero de cualquier tipo primitivo DataOutputStream dos= newdatos de tipo primitivo (boolean, byte, DataOutputStream (fos);double, float, long, int, etc…•Para esto se utiliza las clasesDataInputStream y DataInputStream Las siguientes líneas de códigoDataOutputStream definen un filtro que permitirá Es derivada directamente•Un flujo DataInputStream solo puede leer haciendo uso de de InputStreamser utilizado si el dato se guardó DataInputStream:haciendo uso de un flujo Permite leer un flujo deDataOutputStream entrada subordinado FileInputStream fis= new FileInputStream(datos.dat); Solo lee datos ingresados DataInputStream dis= new por DataOutputStream DataInputStream (fis); Como tarea, puedes Estas clases son buscar los métodos primordiales ya que de la clase su uso es más práctico DataInputStream y DataOutputStream, y realizar ejemplos
  10. 10. Funciones Métodos de acceso Aleatorio•Sirve para escribir en unadeterminada posición en un fichero Devuelve en bytes la•Se hace uso de la clase getFilePointer() posición del archivoRandomAccesFile•La clase RandomAccesFileproporciona dos constructores:RandomAccesFile(String nombre,String modo);•RandomAccesFile(File fichero, Stringmodo);•El modo: RAF1. r: Significa modo lectura2. rw: Significa modo escritura seek(long pl) length() Coloca en una posición específica relativa al principio del archivo Devuelve en bytes la longitud del archivo
  11. 11. Funciones Ejemplo• Es la operación de enviar una serie import java.io.*;de objetos a un fichero en disco para import java.lang.*;hacerlos persistentes recibe el nombrede Seriación public class Serial•Leer o recuperar el estado su estado {del fichero para reconstruirlos en public static void main(String args[]) throws IOExceptionmemoria recibe el nombre de {deseriación String nombre, apellido;•Se hará uso de ObjectOutputStream y long telefono;ObjectInputStream PrintStream i = System.out;•Se trata de convertir el estado de un tryobjeto en una secuencia de bytes, por {eso son construidos sobre otros flujos File fichero = new File ("Ficherin.txt");•Los flujos sobre los que se construirá FileOutputStream fos = new FileOutputStream(fichero);será el FileOutputStream y el ObjectOutputStream oos= new ObjectOutputStream(fos);FileInputStream Persona p= new Persona(“Carlos”,”Van de Velde”,27133413); oos.writeObject(p); } catch(IOException io)Para poder hacer uso { de una clase i.println("Se ha cometido un error" +io); Serializable debes } implementar una }interfaz Serializable, }que viene por default para identificar que tipo de clase es
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×