SlideShare una empresa de Scribd logo
1 de 12
Definición                                        Clases

•Es el mecanismo utilizado para
realizar operaciones de Entrada
/Salida                                                         Object
•De la misma manera se gestiona la
entrada / salida sobre dispositivos
como:
teclado, pantalla, mouse, impresora,
conexión de red
•Hay dispositivos que ya tienen su
flujo predefinido como la pantalla
                                                 InputSteam              OutputSteam
por ejemplo
•Hay dispositivos que no lo
tienen, como por ejemplo una
impresora
•Las diferentes clases de flujos se
encuentras agrupadas en java.io
                                                  Reader                    Writer

                                Los flujos son
                                     muy
                                 importantes     Random
                                  puesto que                                 …
                                 manejan las     AccesFile
                                  E/S de un
                                  programa
Definición                                                Clases

•Son clases abstractas que                                             Entrada y
representan el flujo de                                                Salida de
                                                                        Datos
entrada/salida de bytes.
•Definen la funcionalidad básica
común de todas las clases de flujo de
bytes
•Dentro de las subclases de
InputSteam tenemos:
FileInputStream, ByteArrayInputStre
am, SequenceInputStream, etc.                                         Flujos
•Dentro de las subclases de
OutputStream están:
FileOutputSream, ObjectOutputStrea                                                 Gestión de
                                                        Excepciones
m, 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
Definición                                                Clases

•Son clases abstractas que                                             Entrada y
representan el flujo de                                                Salida de
                                                                        Datos
entrada/salida de bytes.
•Definen la funcionalidad básica
común de todas las clases de flujo de
bytes
•Dentro de las subclases de
InputStream tenemos:
FileInputStream, ByteArrayInputStre
am, SequenceInputStream, etc.                                         Flujos
•Dentro de las subclases de
OutputStream están:
FileOutputSream, ObjectOutputStrea                                                 Gestión de
                                                        Excepciones
m, 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
Funciones

•Es el tipo de acceso más simple a un
fichero
•Puede almacenar ficheros de
cualquier magnitud.
•Cuando la información se escribe
registro a registro, estos son
                                         FileOutputStream
colocados uno a continuación del
otro
•Se utiliza con ficheros donde se
coloca la información de principio a
final y se lee de la misma forma
•Los ficheros pueden ser escritos o
leidos utilizando FileOutputStream y
FileInputStream
                            Los flujos
                           permiten la
                             salida y
                           entrada de
                              datos      FileInputStream
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);                             try
3. 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
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());
                                           }}}}
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");
                                             }
                                             }
Funciones
                                                                 Lectura recomendada

•Se puede utilizar la clase File para
referirse al archivo
•La clase File permite trabajar con
tres 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 File
3. 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!!!!
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= new
datos de tipo primitivo (boolean, byte,                                           DataOutputStream (fos);
double, float, long, int, etc…
•Para esto se utiliza las clases
DataInputStream y                                  DataInputStream                Las siguientes líneas de código
DataOutputStream                                                                  definen un filtro que permitirá
                                                   Es derivada directamente
•Un flujo DataInputStream solo puede                                              leer haciendo uso de
                                                   de InputStream
ser utilizado si el dato se guardó                                                DataInputStream:
haciendo uso de un flujo                           Permite leer un flujo de
DataOutputStream                                   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
Funciones                                        Métodos de acceso Aleatorio


•Sirve para escribir en una
determinada posición en un fichero                                                      Devuelve en bytes la
•Se hace uso de la clase                                             getFilePointer()   posición del archivo
RandomAccesFile
•La clase RandomAccesFile
proporciona dos constructores:
RandomAccesFile(String nombre,
String modo);
•RandomAccesFile(File fichero, String
modo);
•El modo:

                                                                     RAF
1. r: Significa modo lectura
2. 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
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 nombre
de Seriación                              public class Serial
•Leer o recuperar el estado su estado     {
del fichero para reconstruirlos en        public static void main(String args[]) throws IOException
memoria 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    try
objeto 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

Más contenido relacionado

La actualidad más candente

Los tipos de usuarios en una base de datos
Los tipos de usuarios en una base de datosLos tipos de usuarios en una base de datos
Los tipos de usuarios en una base de datos
Maikol Ales
 
ORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓN
ORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓNORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓN
ORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓN
standarman
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
josecuartas
 
Cuadro comparativo Grupal de IPv4 e IPv6.
Cuadro comparativo  Grupal de IPv4 e  IPv6.Cuadro comparativo  Grupal de IPv4 e  IPv6.
Cuadro comparativo Grupal de IPv4 e IPv6.
Elia Archibold
 
Unidad II. Modelo de Datos
Unidad II. Modelo de DatosUnidad II. Modelo de Datos
Unidad II. Modelo de Datos
ucbasededatos
 

La actualidad más candente (20)

Los tipos de usuarios en una base de datos
Los tipos de usuarios en una base de datosLos tipos de usuarios en una base de datos
Los tipos de usuarios en una base de datos
 
ORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓN
ORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓNORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓN
ORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓN
 
Manual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambasManual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambas
 
Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Analizador Léxico en C++
Analizador Léxico en C++Analizador Léxico en C++
Analizador Léxico en C++
 
Metodologiasad 1
Metodologiasad 1Metodologiasad 1
Metodologiasad 1
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Cuadro comparativo Grupal de IPv4 e IPv6.
Cuadro comparativo  Grupal de IPv4 e  IPv6.Cuadro comparativo  Grupal de IPv4 e  IPv6.
Cuadro comparativo Grupal de IPv4 e IPv6.
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
DIRECCIONAMIENTO IP: IPv4 y IPv6
DIRECCIONAMIENTO  IP: IPv4 y IPv6DIRECCIONAMIENTO  IP: IPv4 y IPv6
DIRECCIONAMIENTO IP: IPv4 y IPv6
 
DIRECCIONAMIENTO IP BASICO I
DIRECCIONAMIENTO IP BASICO IDIRECCIONAMIENTO IP BASICO I
DIRECCIONAMIENTO IP BASICO I
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)
 
Dhcp
DhcpDhcp
Dhcp
 
Sistemas de gestión de base de datos
Sistemas de gestión de base de datosSistemas de gestión de base de datos
Sistemas de gestión de base de datos
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysql
 
Unidad II. Modelo de Datos
Unidad II. Modelo de DatosUnidad II. Modelo de Datos
Unidad II. Modelo de Datos
 
Conceptos poo (presentación1)
Conceptos poo (presentación1)Conceptos poo (presentación1)
Conceptos poo (presentación1)
 

Similar a Flujos de Entrada y Salida en Java

Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
Whaleejaa Wha
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
MaiirOn Gaitan
 
Manejo+de+archivos+en+java
Manejo+de+archivos+en+javaManejo+de+archivos+en+java
Manejo+de+archivos+en+java
Whaleejaa Wha
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
Whaleejaa Wha
 
Flujos de bytes y cadenas
Flujos de bytes y cadenasFlujos de bytes y cadenas
Flujos de bytes y cadenas
Juan Durango
 
Open And Reading Files
Open And Reading FilesOpen And Reading Files
Open And Reading Files
kayrambal
 
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOS
Darwin Durand
 
Trabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica iiTrabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica ii
rafaelrojas91
 
Trabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica IITrabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica II
rafaelrojas91
 

Similar a Flujos de Entrada y Salida en Java (20)

Serializacion
SerializacionSerializacion
Serializacion
 
Metodos de entrada y Salida
Metodos de entrada y SalidaMetodos de entrada y Salida
Metodos de entrada y Salida
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Manejo+de+archivos+en+java
Manejo+de+archivos+en+javaManejo+de+archivos+en+java
Manejo+de+archivos+en+java
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Flujos de bytes y cadenas
Flujos de bytes y cadenasFlujos de bytes y cadenas
Flujos de bytes y cadenas
 
Java stream
Java streamJava stream
Java stream
 
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividadS2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
 
Programacion no numerica2
Programacion no numerica2Programacion no numerica2
Programacion no numerica2
 
Open And Reading Files
Open And Reading FilesOpen And Reading Files
Open And Reading Files
 
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOS
 
Java io
Java ioJava io
Java io
 
13-Unidad 4: Manejo de archivos y seguimiento del proyecto
13-Unidad 4: Manejo de archivos y seguimiento del proyecto13-Unidad 4: Manejo de archivos y seguimiento del proyecto
13-Unidad 4: Manejo de archivos y seguimiento del proyecto
 
ARCHIVOS
ARCHIVOS ARCHIVOS
ARCHIVOS
 
Trabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica iiTrabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica ii
 
Trabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica IITrabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica II
 
Entrada y Salida de datos en Java
Entrada y Salida de datos en JavaEntrada y Salida de datos en Java
Entrada y Salida de datos en Java
 
Utilización de la clase math
Utilización de la clase mathUtilización de la clase math
Utilización de la clase math
 
Java
JavaJava
Java
 

Más de Ingeniería Nica

Tesis Propuesta de un sistema para la gestión de la vinculación unviersidad e...
Tesis Propuesta de un sistema para la gestión de la vinculación unviersidad e...Tesis Propuesta de un sistema para la gestión de la vinculación unviersidad e...
Tesis Propuesta de un sistema para la gestión de la vinculación unviersidad e...
Ingeniería Nica
 
Información Diplomado en Admón de Bases de Datos I era Edición
Información Diplomado en Admón de Bases de Datos I era EdiciónInformación Diplomado en Admón de Bases de Datos I era Edición
Información Diplomado en Admón de Bases de Datos I era Edición
Ingeniería Nica
 
Información Diplomado en Administración de Bases de Datos con Mysql primera E...
Información Diplomado en Administración de Bases de Datos con Mysql primera E...Información Diplomado en Administración de Bases de Datos con Mysql primera E...
Información Diplomado en Administración de Bases de Datos con Mysql primera E...
Ingeniería Nica
 

Más de Ingeniería Nica (20)

Programa de curso de formulación y evaluación de proyectos informáticos
Programa de curso de formulación y evaluación de proyectos informáticosPrograma de curso de formulación y evaluación de proyectos informáticos
Programa de curso de formulación y evaluación de proyectos informáticos
 
Sesiones en PHP
Sesiones en PHPSesiones en PHP
Sesiones en PHP
 
Programa de desarrollo y administración de bases de datos con SQL Server 2012...
Programa de desarrollo y administración de bases de datos con SQL Server 2012...Programa de desarrollo y administración de bases de datos con SQL Server 2012...
Programa de desarrollo y administración de bases de datos con SQL Server 2012...
 
Programa de Curso on line de Android!
Programa de Curso on line de Android!Programa de Curso on line de Android!
Programa de Curso on line de Android!
 
Tesis Propuesta de un sistema para la gestión de la vinculación unviersidad e...
Tesis Propuesta de un sistema para la gestión de la vinculación unviersidad e...Tesis Propuesta de un sistema para la gestión de la vinculación unviersidad e...
Tesis Propuesta de un sistema para la gestión de la vinculación unviersidad e...
 
Curriculum vitae 2012 c arlos van de velde
Curriculum vitae 2012 c arlos van de veldeCurriculum vitae 2012 c arlos van de velde
Curriculum vitae 2012 c arlos van de velde
 
Programa de curso excel 2010 financiero
Programa de curso excel 2010 financieroPrograma de curso excel 2010 financiero
Programa de curso excel 2010 financiero
 
Vectores o arreglos con PHP
Vectores o arreglos con PHP Vectores o arreglos con PHP
Vectores o arreglos con PHP
 
Programa de curso de project 2010
Programa de curso de  project 2010Programa de curso de  project 2010
Programa de curso de project 2010
 
La necesidad de un sistema automatizado de vinculación Universidad – Empresa
La necesidad de un sistema automatizado de vinculación Universidad – Empresa La necesidad de un sistema automatizado de vinculación Universidad – Empresa
La necesidad de un sistema automatizado de vinculación Universidad – Empresa
 
Curso de Desarrollo de sitios web dinámicos con PHP y MySQL
Curso de Desarrollo de sitios web dinámicos con PHP y MySQLCurso de Desarrollo de sitios web dinámicos con PHP y MySQL
Curso de Desarrollo de sitios web dinámicos con PHP y MySQL
 
Programa de curso excel 2010
Programa de curso excel 2010Programa de curso excel 2010
Programa de curso excel 2010
 
Manual de usuario de sistema de vinculación Universidad Empresa
Manual de usuario de sistema de vinculación Universidad EmpresaManual de usuario de sistema de vinculación Universidad Empresa
Manual de usuario de sistema de vinculación Universidad Empresa
 
Programa de curso de desarrollo web con html5
Programa de curso de desarrollo web con html5Programa de curso de desarrollo web con html5
Programa de curso de desarrollo web con html5
 
Programa de curso de administración de bases de datos con SQL Server 2012 Ava...
Programa de curso de administración de bases de datos con SQL Server 2012 Ava...Programa de curso de administración de bases de datos con SQL Server 2012 Ava...
Programa de curso de administración de bases de datos con SQL Server 2012 Ava...
 
Brochure IN
Brochure INBrochure IN
Brochure IN
 
Curso SQL 2012
Curso SQL 2012Curso SQL 2012
Curso SQL 2012
 
Resultado concurso HTML5 OCT2012
Resultado concurso HTML5 OCT2012Resultado concurso HTML5 OCT2012
Resultado concurso HTML5 OCT2012
 
Información Diplomado en Admón de Bases de Datos I era Edición
Información Diplomado en Admón de Bases de Datos I era EdiciónInformación Diplomado en Admón de Bases de Datos I era Edición
Información Diplomado en Admón de Bases de Datos I era Edición
 
Información Diplomado en Administración de Bases de Datos con Mysql primera E...
Información Diplomado en Administración de Bases de Datos con Mysql primera E...Información Diplomado en Administración de Bases de Datos con Mysql primera E...
Información Diplomado en Administración de Bases de Datos con Mysql primera E...
 

Último

Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
zulyvero07
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
NancyLoaa
 

Último (20)

actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 

Flujos de Entrada y Salida en Java

  • 1.
  • 2. Definición Clases •Es el mecanismo utilizado para realizar operaciones de Entrada /Salida Object •De la misma manera se gestiona la entrada / salida sobre dispositivos como: teclado, pantalla, mouse, impresora, conexión de red •Hay dispositivos que ya tienen su flujo predefinido como la pantalla InputSteam OutputSteam por ejemplo •Hay dispositivos que no lo tienen, como por ejemplo una impresora •Las diferentes clases de flujos se encuentras agrupadas en java.io Reader Writer Los flujos son muy importantes Random puesto que … manejan las AccesFile E/S de un programa
  • 3. Definición Clases •Son clases abstractas que Entrada y representan el flujo de Salida de Datos entrada/salida de bytes. •Definen la funcionalidad básica común de todas las clases de flujo de bytes •Dentro de las subclases de InputSteam tenemos: FileInputStream, ByteArrayInputStre am, SequenceInputStream, etc. Flujos •Dentro de las subclases de OutputStream están: FileOutputSream, ObjectOutputStrea Gestión de Excepciones m, 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. Definición Clases •Son clases abstractas que Entrada y representan el flujo de Salida de Datos entrada/salida de bytes. •Definen la funcionalidad básica común de todas las clases de flujo de bytes •Dentro de las subclases de InputStream tenemos: FileInputStream, ByteArrayInputStre am, SequenceInputStream, etc. Flujos •Dentro de las subclases de OutputStream están: FileOutputSream, ObjectOutputStrea Gestión de Excepciones m, 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
  • 5. Funciones •Es el tipo de acceso más simple a un fichero •Puede almacenar ficheros de cualquier magnitud. •Cuando la información se escribe registro a registro, estos son FileOutputStream colocados uno a continuación del otro •Se utiliza con ficheros donde se coloca la información de principio a final y se lee de la misma forma •Los ficheros pueden ser escritos o leidos utilizando FileOutputStream y FileInputStream Los flujos permiten la salida y entrada de datos FileInputStream
  • 6. 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); try 3. 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
  • 7. 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()); }}}}
  • 8. 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"); } }
  • 9. Funciones Lectura recomendada •Se puede utilizar la clase File para referirse al archivo •La clase File permite trabajar con tres 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 File 3. 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!!!!
  • 10. 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= new datos de tipo primitivo (boolean, byte, DataOutputStream (fos); double, float, long, int, etc… •Para esto se utiliza las clases DataInputStream y DataInputStream Las siguientes líneas de código DataOutputStream definen un filtro que permitirá Es derivada directamente •Un flujo DataInputStream solo puede leer haciendo uso de de InputStream ser utilizado si el dato se guardó DataInputStream: haciendo uso de un flujo Permite leer un flujo de DataOutputStream 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
  • 11. Funciones Métodos de acceso Aleatorio •Sirve para escribir en una determinada posición en un fichero Devuelve en bytes la •Se hace uso de la clase getFilePointer() posición del archivo RandomAccesFile •La clase RandomAccesFile proporciona dos constructores: RandomAccesFile(String nombre, String modo); •RandomAccesFile(File fichero, String modo); •El modo: RAF 1. r: Significa modo lectura 2. 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
  • 12. 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 nombre de Seriación public class Serial •Leer o recuperar el estado su estado { del fichero para reconstruirlos en public static void main(String args[]) throws IOException memoria 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 try objeto 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