Your SlideShare is downloading. ×
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Flujos de Entrada y Salida en Java

4,823

Published on

Flujos de Entrada y Salida en Java!!! …

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
4,823
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
159
Comments
1
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×