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

Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooJosé Antonio Sandoval Acosta
 
POO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a ObjetosPOO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a ObjetosFranklin Parrales Bravo
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraAlexandraMolinaSanchez
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to javajayc8586
 
Documentacion postgresql
Documentacion postgresqlDocumentacion postgresql
Documentacion postgresqlCesar Martinez
 
automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
Manejo de archivos en JAVA
Manejo de archivos en JAVAManejo de archivos en JAVA
Manejo de archivos en JAVAMichelle Torres
 
The Evolution of Java
The Evolution of JavaThe Evolution of Java
The Evolution of JavaFu Cheng
 

La actualidad más candente (20)

Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
POO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a ObjetosPOO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a Objetos
 
Jerarquia de chomsky
Jerarquia de chomskyJerarquia de chomsky
Jerarquia de chomsky
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
 
Proceso unificado
Proceso unificadoProceso unificado
Proceso unificado
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
Documentacion postgresql
Documentacion postgresqlDocumentacion postgresql
Documentacion postgresql
 
Lenguaje Unificado de Modelado
Lenguaje Unificado de ModeladoLenguaje Unificado de Modelado
Lenguaje Unificado de Modelado
 
Presentacion MSF
Presentacion MSFPresentacion MSF
Presentacion MSF
 
Cargadores
CargadoresCargadores
Cargadores
 
Database Access With JDBC
Database Access With JDBCDatabase Access With JDBC
Database Access With JDBC
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Manejo de archivos en JAVA
Manejo de archivos en JAVAManejo de archivos en JAVA
Manejo de archivos en JAVA
 
Autómatas Finitos
Autómatas FinitosAutómatas Finitos
Autómatas Finitos
 
Windows.forms.ejercicios
Windows.forms.ejerciciosWindows.forms.ejercicios
Windows.forms.ejercicios
 
The Evolution of Java
The Evolution of JavaThe Evolution of Java
The Evolution of Java
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 

Similar a Flujos de Entrada y Salida en Java

Metodos de entrada y Salida
Metodos de entrada y SalidaMetodos de entrada y Salida
Metodos de entrada y SalidaCristian Andres
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en javaWhaleejaa Wha
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en javaMaiirOn Gaitan
 
Manejo+de+archivos+en+java
Manejo+de+archivos+en+javaManejo+de+archivos+en+java
Manejo+de+archivos+en+javaWhaleejaa Wha
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en javaWhaleejaa Wha
 
Flujos de bytes y cadenas
Flujos de bytes y cadenasFlujos de bytes y cadenas
Flujos de bytes y cadenasJuan Durango
 
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, recursividadLuis Fernando Aguas Bucheli
 
Open And Reading Files
Open And Reading FilesOpen And Reading Files
Open And Reading Fileskayrambal
 
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSDarwin Durand
 
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 proyectoLuis Fernando Aguas Bucheli
 
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 iirafaelrojas91
 
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 IIrafaelrojas91
 
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 Javakunno10
 

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
 
Flujo datos
Flujo datosFlujo datos
Flujo datos
 
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
 

Más de Ingeniería Nica

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áticosIngeniería Nica
 
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...Ingeniería Nica
 
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!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
 
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 veldeIngeniería Nica
 
Programa de curso excel 2010 financiero
Programa de curso excel 2010 financieroPrograma de curso excel 2010 financiero
Programa de curso excel 2010 financieroIngeniería Nica
 
Vectores o arreglos con PHP
Vectores o arreglos con PHP Vectores o arreglos con PHP
Vectores o arreglos con PHP Ingeniería Nica
 
Programa de curso de project 2010
Programa de curso de  project 2010Programa de curso de  project 2010
Programa de curso de project 2010Ingeniería Nica
 
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 Ingeniería Nica
 
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 MySQLIngeniería Nica
 
Programa de curso excel 2010
Programa de curso excel 2010Programa de curso excel 2010
Programa de curso excel 2010Ingeniería Nica
 
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 EmpresaIngeniería Nica
 
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 html5Ingeniería Nica
 
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...Ingeniería Nica
 
Resultado concurso HTML5 OCT2012
Resultado concurso HTML5 OCT2012Resultado concurso HTML5 OCT2012
Resultado concurso HTML5 OCT2012Ingenierí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ónIngenierí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

TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 

Último (20)

TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 

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