SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Presentación




        Manejo de Archivos

          Mauricio Paletta
     INGENIERÍA EN INFORMÁTICA
                  Programación II




          Coordinación General de Pregrado
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA

                               Programación II
Archivo

Estructura de datos para almacenamiento /
recuperación de información en memoria
secundaria    dispositivos externos (disco
duro por ejemplo).
A diferencia de la memoria principal que es
temporal, la data en memoria secundaria es
permanente (hasta que el usuario decida no
quererla más).


                        Programación II
Archivo

Se identifican por un nombre válido por el
sistema operativo.
El nombre puede contener una extensión que
permite indicar el tipo o categoría al cual el
archivo pertenece. Algunos ejemplos de
extensiones conocidas:
  TXT   Texto
  EXE   Ejecutables
  COM   Programas compilados


                          Programación II
Archivo

CPP    Fuente de programa escrito en C++
JAVA   Fuente de programa escrito en Java
HTML   Fuente de página Web escrita en HTML
DLL    Biblioteca de enlace dinámico de Windows
INI    Archivo de opciones de configuración de Windows
JPEG   Archivo de imagen comprimida en formato Jpeg
TIFF   Archivo de imagen comprimida en formato Tiff
PDF    Documento guardado en formato Pdf
XML    Documento escrito y guardado en formato XML
PPT    Documento de presentación escrito en Microsoft
       Office PowerPoint.
DOC    Documento de presentación escrito en Microsoft
       Office Word.
                           Programación II
Archivo Texto

Dos tipos (desde el punto de vista del
contenido):
• Texto: formado por caracteres / bytes
  imprimibles, es decir, se pueden leer /
  entender con facilidad. La data representa
  un texto que puede o no estar asociado a
  algún tipo de formato. Ejemplos: archivos
  de notas, páginas Web en HTML, archivos
  fuente de C++, archivos en XML, etc.

                         Programación II
Archivo Texto




         Programación II
Archivo Binario

• Binario: formado por cualquier tipo de
  caracter / byte. Sólo lo entiende el
  programa utilizado para crear el archivo.
  Ejemplos: archivos ejecutables,
  documentos en formatos especiales (doc,
  pdf, jpeg, etc.).




                        Programación II
Archivo Binario




          Programación II
Operaciones

El sistema operativo controla y autoriza todos
los accesos a dispositivos secundarios.

            Abrir                          Programa

                                           Abrir
            Leer /    Sistema
           escribir   Operativo              Leer /
 Archivo
                                             escribir
                                           Cerrar
           Cerrar



                              Programación II
Operaciones

• Abrir: Permite decirle al SOP que se quiere
  tener acceso a un archivo particular. Se
  indica el nombre del archivo y, en algunos
  casos, el tipo (texto / binario) y el objeto de
  su uso:
   Sólo lectura.
   A ser creado (sólo escritura).
   Lectura y escritura.


                            Programación II
Operaciones

NOTAS: La lectura se puede hacer con acceso
 simultáneo (varios usuarios a la vez). La
 escritura requiere de acceso individual. El SOP
 se encarga de hacer estas verificaciones.
  Cualquier posible problema como por ejemplo
  que el archivo no exista, no se encuentre o no
  se pueda abrir/crear, hace que la operación de
  abrir retorne una condición de error.




                        Programación II
Operaciones

• Cerrar: Permite decirle al SOP que se
  quiere dejar de tener acceso a un archivo
  particular. Es importante para que el SOP
  libere todos los recursos que hubo que
  reservar para el uso del archivo. También
  permite que otros usuarios puedan tener
  acceso al archivo.
  NOTA: Un archivo creado que no es
   cerrado no se creará adecuadamente.

                        Programación II
Operaciones

• Leer / escribir: obtener / cambiar datos en
  el archivo. El archivo debe haber sido
  abierto previamente permitiendo hacer la
  operación que se quiere.
  NOTAS: La lectura de un archivo puede
   hacerse mientras no se consiga un
   carácter especial de fin de archivo (EOF).
    La escritura puede hacerse mientras
    haya espacio disponible en el dispositivo.
                         Programación II
Operaciones

La lectura / escritura se hace a partir de
un apuntador de control. A medida que se
va leyendo / escribiendo, el apuntador se
va desplazando en profundidad en el
archivo. Inicialmente (luego de abrir), el
apuntador está en la primera posición
posible.




                    Programación II
Operaciones

• Otras:
   Renombrar: cambiar el nombre.
   Remover: eliminarlo o borrarlo físicamente del
    dispositivo.
   Copiar: hacer un duplicado.
   Limpiar: eliminar todo su contenido.




                           Programación II
Programación en C++

• Los archivos se manejan haciendo uso del
  concepto de “stream” – flujo de caracteres.
• Ejemplo: cout y cin son dos streams para el
  flujo en la salida estándar por defecto
  (monitor) y la entrada estándar por defecto
  (teclado) respectivamente.
• Existe un “stream” particular para el manejo
  de archivos: “filestreams” o “fstreams”.


                         Programación II
Programación en C++




          Abrir




          Usar: leer / escribir

          Cerrar




              Programación II
Programación en C++




          Nótese el uso de try –
          catch para el manejo de
          excepciones




              Programación II
Programación en C++




                             Nótese el uso del
                             método que
                             permite consultar
                             si se ha
                             alcanzado o no el
                             fin de archivo
                             para controlar el
                             recorrido de
                             lectura



           Programación II
Programación en C++

• Opciones en el modo de apertura:
  Bandera   Modo
  app       (append) coloca el apuntador de posición al final del archivo
            antes de cada operación de escritura.
  ate       (at end) coloca el apuntador de posición al final del archivo al
            abrir el archivo.
  binary    Considera el archivo como de tipo binario.

  in        (input) para hacer operaciones de lectura.

  out       (output) para hacer operaciones de escritura.

  trunc     (truncate) se descarta cualquier información existente; se
            asume que el archivo está limpio al abrir.


                                        Programación II
Programación en C++

• Archivos binarios con bloques más
  complejos: estructuras lineales.




                       Programación II
Programación en C++




           Programación II
Programación en C++

• ¿Cómo manejar el apuntador de posición
    leer / escribir en cualquier parte?
   teelg: obtiene la posición actual del apuntador
    de lectura.
   seekg: mueve la posición del apuntador de
    lectura.
   teelp: obtiene la posición actual del apuntador
    de escritura.
   seekp: mueve la posición del apuntador de
    escritura.

                           Programación II
Programación en C++




           Posición absoluta




           Programación II
Programación en C++




            Posición relativa




           Programación II
Programación en C++

• Opciones para usar con la operación seek:
   Con un solo parámetro            posición absoluta.
   Con dos parámetros            posición relativa basado en la
    siguiente tabla:

       Bandera   Modo
       beg       A partir del comienzo del archivo.
       cur       Partiendo de la posición actual.
       end       Desde el final del archivo.




                                      Programación II

Weitere ähnliche Inhalte

Was ist angesagt?

Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacionoswchavez
 
Direccionamiento ip
Direccionamiento ipDireccionamiento ip
Direccionamiento iplaura1352
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicojosecuartas
 
Estados y transiciones de los procesos
Estados y transiciones de los procesosEstados y transiciones de los procesos
Estados y transiciones de los procesosAlberto Ch
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaaeross
 
Semejanzas y Diferencias entre Arquitectura cliente/servidor y Arquitectura p2p
Semejanzas y Diferencias entre Arquitectura cliente/servidor y Arquitectura p2pSemejanzas y Diferencias entre Arquitectura cliente/servidor y Arquitectura p2p
Semejanzas y Diferencias entre Arquitectura cliente/servidor y Arquitectura p2pFabiMolinares
 
Algoritmos Tiposde datos
Algoritmos Tiposde datos Algoritmos Tiposde datos
Algoritmos Tiposde datos bakura4
 
Mantenimiento de la computadora
Mantenimiento de la computadoraMantenimiento de la computadora
Mantenimiento de la computadoraYury Torres
 
Capa de Red del modelo OSI
Capa de Red del modelo OSICapa de Red del modelo OSI
Capa de Red del modelo OSINeryEdaly
 
Cuestionario de Redes Informáticas
Cuestionario de Redes InformáticasCuestionario de Redes Informáticas
Cuestionario de Redes InformáticasLaddy Mathita
 
Simbología de Diagramas de Flujo
Simbología de Diagramas de FlujoSimbología de Diagramas de Flujo
Simbología de Diagramas de FlujoNatalia Alejandra
 
Jerarquía del conocimiento
Jerarquía del conocimientoJerarquía del conocimiento
Jerarquía del conocimientoAngelDCastillo
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++Rosbelia Balza
 
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosSO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosFranklin Parrales Bravo
 

Was ist angesagt? (20)

Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
Direccionamiento ip
Direccionamiento ipDireccionamiento ip
Direccionamiento ip
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Estados y transiciones de los procesos
Estados y transiciones de los procesosEstados y transiciones de los procesos
Estados y transiciones de los procesos
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capa
 
Semejanzas y Diferencias entre Arquitectura cliente/servidor y Arquitectura p2p
Semejanzas y Diferencias entre Arquitectura cliente/servidor y Arquitectura p2pSemejanzas y Diferencias entre Arquitectura cliente/servidor y Arquitectura p2p
Semejanzas y Diferencias entre Arquitectura cliente/servidor y Arquitectura p2p
 
Algoritmos Tiposde datos
Algoritmos Tiposde datos Algoritmos Tiposde datos
Algoritmos Tiposde datos
 
Normalizacion de Base de datos,
Normalizacion de Base de datos, Normalizacion de Base de datos,
Normalizacion de Base de datos,
 
Mantenimiento de la computadora
Mantenimiento de la computadoraMantenimiento de la computadora
Mantenimiento de la computadora
 
Método de las 6 d
Método de las 6 dMétodo de las 6 d
Método de las 6 d
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Capa de Red del modelo OSI
Capa de Red del modelo OSICapa de Red del modelo OSI
Capa de Red del modelo OSI
 
Protocolo TCP/IP
Protocolo TCP/IPProtocolo TCP/IP
Protocolo TCP/IP
 
Cuestionario de Redes Informáticas
Cuestionario de Redes InformáticasCuestionario de Redes Informáticas
Cuestionario de Redes Informáticas
 
Simbología de Diagramas de Flujo
Simbología de Diagramas de FlujoSimbología de Diagramas de Flujo
Simbología de Diagramas de Flujo
 
Jerarquía del conocimiento
Jerarquía del conocimientoJerarquía del conocimiento
Jerarquía del conocimiento
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
 
Entidad Relación Banco
Entidad Relación BancoEntidad Relación Banco
Entidad Relación Banco
 
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosSO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
 

Andere mochten auch

Manejo de archivo en la informacion
Manejo de archivo en la informacionManejo de archivo en la informacion
Manejo de archivo en la informacioncc11203942
 
Silabos taller de base de datos
Silabos taller de base de datosSilabos taller de base de datos
Silabos taller de base de datosIris Altamirano
 
Vb II, Unidad 2, Manejo De Archivos
Vb II, Unidad 2, Manejo De ArchivosVb II, Unidad 2, Manejo De Archivos
Vb II, Unidad 2, Manejo De ArchivosUTP, TA
 
Manejo de archivos en lenguaje c
Manejo de archivos en lenguaje cManejo de archivos en lenguaje c
Manejo de archivos en lenguaje cWhaleejaa Wha
 
Silabus computacion
Silabus computacionSilabus computacion
Silabus computacionVeki Ta
 
6.manejo de archivos
6.manejo de archivos6.manejo de archivos
6.manejo de archivosmaricel
 

Andere mochten auch (12)

Tecnicas de archivo
Tecnicas de archivoTecnicas de archivo
Tecnicas de archivo
 
Manejo de archivo
Manejo de archivoManejo de archivo
Manejo de archivo
 
Manejo de archivo en la informacion
Manejo de archivo en la informacionManejo de archivo en la informacion
Manejo de archivo en la informacion
 
Silabos taller de base de datos
Silabos taller de base de datosSilabos taller de base de datos
Silabos taller de base de datos
 
Silabus de base de datos i 2014
Silabus de base de datos i 2014 Silabus de base de datos i 2014
Silabus de base de datos i 2014
 
Vb II, Unidad 2, Manejo De Archivos
Vb II, Unidad 2, Manejo De ArchivosVb II, Unidad 2, Manejo De Archivos
Vb II, Unidad 2, Manejo De Archivos
 
Manejo de archivos en lenguaje c
Manejo de archivos en lenguaje cManejo de archivos en lenguaje c
Manejo de archivos en lenguaje c
 
Silabus computacion
Silabus computacionSilabus computacion
Silabus computacion
 
Actualización de sílabos
Actualización de sílabosActualización de sílabos
Actualización de sílabos
 
6.manejo de archivos
6.manejo de archivos6.manejo de archivos
6.manejo de archivos
 
Tecnicas de archivo
Tecnicas de archivoTecnicas de archivo
Tecnicas de archivo
 
ComputacióN E InformáTica
ComputacióN E InformáTicaComputacióN E InformáTica
ComputacióN E InformáTica
 

Ähnlich wie Manejo archivos

03. Archivos Completo Obliogatorio Para Imprimir.pdf
03. Archivos Completo Obliogatorio Para Imprimir.pdf03. Archivos Completo Obliogatorio Para Imprimir.pdf
03. Archivos Completo Obliogatorio Para Imprimir.pdfSiscoReparaciones
 
Zanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionZanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionjuanpi1991
 
1.introduccion a la programación
1.introduccion a la programación1.introduccion a la programación
1.introduccion a la programaciónMarina Vintimilla
 
Conformacion de un sistema de archivos
Conformacion de un sistema de archivosConformacion de un sistema de archivos
Conformacion de un sistema de archivoslasssss
 
Programación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivosProgramación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivosJosé Antonio Sandoval Acosta
 
2011 clase18
2011 clase182011 clase18
2011 clase18PatriciaU
 
Sistema de archivos
Sistema de archivosSistema de archivos
Sistema de archivosStefanyPC
 
Taller administracion de archivos
Taller administracion de archivosTaller administracion de archivos
Taller administracion de archivossalejo123
 
Diapositiva programacion archivos.pptx
Diapositiva programacion archivos.pptxDiapositiva programacion archivos.pptx
Diapositiva programacion archivos.pptxAbelguacarimendoza
 
Administracion de procesos
Administracion de procesosAdministracion de procesos
Administracion de procesosKatty Stefy Coro
 

Ähnlich wie Manejo archivos (20)

Ejecutables
EjecutablesEjecutables
Ejecutables
 
03. Archivos Completo Obliogatorio Para Imprimir.pdf
03. Archivos Completo Obliogatorio Para Imprimir.pdf03. Archivos Completo Obliogatorio Para Imprimir.pdf
03. Archivos Completo Obliogatorio Para Imprimir.pdf
 
Zanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionZanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacion
 
1.introduccion a la programación
1.introduccion a la programación1.introduccion a la programación
1.introduccion a la programación
 
Python
PythonPython
Python
 
Conformacion de un sistema de archivos
Conformacion de un sistema de archivosConformacion de un sistema de archivos
Conformacion de un sistema de archivos
 
Programación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivosProgramación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivos
 
2011 clase18
2011 clase182011 clase18
2011 clase18
 
Sena terminado
Sena terminadoSena terminado
Sena terminado
 
Taller1
Taller1Taller1
Taller1
 
Datos
Datos Datos
Datos
 
Cobian
Cobian Cobian
Cobian
 
Sistema de archivos
Sistema de archivosSistema de archivos
Sistema de archivos
 
Qué Es Cobian Backup 9
Qué Es Cobian Backup 9Qué Es Cobian Backup 9
Qué Es Cobian Backup 9
 
Taller administracion de archivos
Taller administracion de archivosTaller administracion de archivos
Taller administracion de archivos
 
2-Archivos.ppt
2-Archivos.ppt2-Archivos.ppt
2-Archivos.ppt
 
Diapositiva programacion archivos.pptx
Diapositiva programacion archivos.pptxDiapositiva programacion archivos.pptx
Diapositiva programacion archivos.pptx
 
Administracion de procesos
Administracion de procesosAdministracion de procesos
Administracion de procesos
 
Mantenimiento
MantenimientoMantenimiento
Mantenimiento
 
Practica Mantenimiento 2
Practica Mantenimiento 2Practica Mantenimiento 2
Practica Mantenimiento 2
 

Mehr von karlalopezbello

03 -fundamentos_de_la_tecnologia_orientada_a_objetos
03  -fundamentos_de_la_tecnologia_orientada_a_objetos03  -fundamentos_de_la_tecnologia_orientada_a_objetos
03 -fundamentos_de_la_tecnologia_orientada_a_objetoskarlalopezbello
 
02 -introduccion_a_la_tecnologia_orientada_a_objetos
02  -introduccion_a_la_tecnologia_orientada_a_objetos02  -introduccion_a_la_tecnologia_orientada_a_objetos
02 -introduccion_a_la_tecnologia_orientada_a_objetoskarlalopezbello
 
Programacion ii modulo3-leccion2
Programacion ii modulo3-leccion2Programacion ii modulo3-leccion2
Programacion ii modulo3-leccion2karlalopezbello
 
Programacion ii modulo3-leccion1
Programacion ii modulo3-leccion1Programacion ii modulo3-leccion1
Programacion ii modulo3-leccion1karlalopezbello
 
Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3karlalopezbello
 
Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2karlalopezbello
 
Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1karlalopezbello
 
Programacion ii modulo1-leccion1-
Programacion ii modulo1-leccion1-Programacion ii modulo1-leccion1-
Programacion ii modulo1-leccion1-karlalopezbello
 
Sistemas de comunicacion
Sistemas de comunicacionSistemas de comunicacion
Sistemas de comunicacionkarlalopezbello
 
Introduccion unegvirtual
Introduccion unegvirtualIntroduccion unegvirtual
Introduccion unegvirtualkarlalopezbello
 
Guia para montar_el_aula_1_
Guia para montar_el_aula_1_Guia para montar_el_aula_1_
Guia para montar_el_aula_1_karlalopezbello
 
Configuracion del perfil
Configuracion del perfilConfiguracion del perfil
Configuracion del perfilkarlalopezbello
 
Configuracion del perfil
Configuracion del perfilConfiguracion del perfil
Configuracion del perfilkarlalopezbello
 

Mehr von karlalopezbello (20)

03 -fundamentos_de_la_tecnologia_orientada_a_objetos
03  -fundamentos_de_la_tecnologia_orientada_a_objetos03  -fundamentos_de_la_tecnologia_orientada_a_objetos
03 -fundamentos_de_la_tecnologia_orientada_a_objetos
 
02 -introduccion_a_la_tecnologia_orientada_a_objetos
02  -introduccion_a_la_tecnologia_orientada_a_objetos02  -introduccion_a_la_tecnologia_orientada_a_objetos
02 -introduccion_a_la_tecnologia_orientada_a_objetos
 
Programacion ii modulo3-leccion2
Programacion ii modulo3-leccion2Programacion ii modulo3-leccion2
Programacion ii modulo3-leccion2
 
Programacion ii modulo3-leccion1
Programacion ii modulo3-leccion1Programacion ii modulo3-leccion1
Programacion ii modulo3-leccion1
 
Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3
 
Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2
 
Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1
 
Programacion ii modulo1-leccion1-
Programacion ii modulo1-leccion1-Programacion ii modulo1-leccion1-
Programacion ii modulo1-leccion1-
 
Didactica del chat
Didactica del chatDidactica del chat
Didactica del chat
 
Didactica del foro
Didactica del foroDidactica del foro
Didactica del foro
 
Guia completa de_moodle
Guia completa de_moodleGuia completa de_moodle
Guia completa de_moodle
 
Publicacion de material
Publicacion de materialPublicacion de material
Publicacion de material
 
Sistemas de comunicacion
Sistemas de comunicacionSistemas de comunicacion
Sistemas de comunicacion
 
Actividades en moodle
Actividades en moodleActividades en moodle
Actividades en moodle
 
Plataforma moodle
Plataforma moodlePlataforma moodle
Plataforma moodle
 
Introduccion unegvirtual
Introduccion unegvirtualIntroduccion unegvirtual
Introduccion unegvirtual
 
Guia para montar_el_aula_1_
Guia para montar_el_aula_1_Guia para montar_el_aula_1_
Guia para montar_el_aula_1_
 
Configuracion del perfil
Configuracion del perfilConfiguracion del perfil
Configuracion del perfil
 
Configuracion del perfil
Configuracion del perfilConfiguracion del perfil
Configuracion del perfil
 
Transparencias7
Transparencias7Transparencias7
Transparencias7
 

Manejo archivos

  • 1. Presentación Manejo de Archivos Mauricio Paletta INGENIERÍA EN INFORMÁTICA Programación II Coordinación General de Pregrado UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA Programación II
  • 2. Archivo Estructura de datos para almacenamiento / recuperación de información en memoria secundaria dispositivos externos (disco duro por ejemplo). A diferencia de la memoria principal que es temporal, la data en memoria secundaria es permanente (hasta que el usuario decida no quererla más). Programación II
  • 3. Archivo Se identifican por un nombre válido por el sistema operativo. El nombre puede contener una extensión que permite indicar el tipo o categoría al cual el archivo pertenece. Algunos ejemplos de extensiones conocidas: TXT Texto EXE Ejecutables COM Programas compilados Programación II
  • 4. Archivo CPP Fuente de programa escrito en C++ JAVA Fuente de programa escrito en Java HTML Fuente de página Web escrita en HTML DLL Biblioteca de enlace dinámico de Windows INI Archivo de opciones de configuración de Windows JPEG Archivo de imagen comprimida en formato Jpeg TIFF Archivo de imagen comprimida en formato Tiff PDF Documento guardado en formato Pdf XML Documento escrito y guardado en formato XML PPT Documento de presentación escrito en Microsoft Office PowerPoint. DOC Documento de presentación escrito en Microsoft Office Word. Programación II
  • 5. Archivo Texto Dos tipos (desde el punto de vista del contenido): • Texto: formado por caracteres / bytes imprimibles, es decir, se pueden leer / entender con facilidad. La data representa un texto que puede o no estar asociado a algún tipo de formato. Ejemplos: archivos de notas, páginas Web en HTML, archivos fuente de C++, archivos en XML, etc. Programación II
  • 6. Archivo Texto Programación II
  • 7. Archivo Binario • Binario: formado por cualquier tipo de caracter / byte. Sólo lo entiende el programa utilizado para crear el archivo. Ejemplos: archivos ejecutables, documentos en formatos especiales (doc, pdf, jpeg, etc.). Programación II
  • 8. Archivo Binario Programación II
  • 9. Operaciones El sistema operativo controla y autoriza todos los accesos a dispositivos secundarios. Abrir Programa Abrir Leer / Sistema escribir Operativo Leer / Archivo escribir Cerrar Cerrar Programación II
  • 10. Operaciones • Abrir: Permite decirle al SOP que se quiere tener acceso a un archivo particular. Se indica el nombre del archivo y, en algunos casos, el tipo (texto / binario) y el objeto de su uso:  Sólo lectura.  A ser creado (sólo escritura).  Lectura y escritura. Programación II
  • 11. Operaciones NOTAS: La lectura se puede hacer con acceso simultáneo (varios usuarios a la vez). La escritura requiere de acceso individual. El SOP se encarga de hacer estas verificaciones. Cualquier posible problema como por ejemplo que el archivo no exista, no se encuentre o no se pueda abrir/crear, hace que la operación de abrir retorne una condición de error. Programación II
  • 12. Operaciones • Cerrar: Permite decirle al SOP que se quiere dejar de tener acceso a un archivo particular. Es importante para que el SOP libere todos los recursos que hubo que reservar para el uso del archivo. También permite que otros usuarios puedan tener acceso al archivo. NOTA: Un archivo creado que no es cerrado no se creará adecuadamente. Programación II
  • 13. Operaciones • Leer / escribir: obtener / cambiar datos en el archivo. El archivo debe haber sido abierto previamente permitiendo hacer la operación que se quiere. NOTAS: La lectura de un archivo puede hacerse mientras no se consiga un carácter especial de fin de archivo (EOF). La escritura puede hacerse mientras haya espacio disponible en el dispositivo. Programación II
  • 14. Operaciones La lectura / escritura se hace a partir de un apuntador de control. A medida que se va leyendo / escribiendo, el apuntador se va desplazando en profundidad en el archivo. Inicialmente (luego de abrir), el apuntador está en la primera posición posible. Programación II
  • 15. Operaciones • Otras:  Renombrar: cambiar el nombre.  Remover: eliminarlo o borrarlo físicamente del dispositivo.  Copiar: hacer un duplicado.  Limpiar: eliminar todo su contenido. Programación II
  • 16. Programación en C++ • Los archivos se manejan haciendo uso del concepto de “stream” – flujo de caracteres. • Ejemplo: cout y cin son dos streams para el flujo en la salida estándar por defecto (monitor) y la entrada estándar por defecto (teclado) respectivamente. • Existe un “stream” particular para el manejo de archivos: “filestreams” o “fstreams”. Programación II
  • 17. Programación en C++ Abrir Usar: leer / escribir Cerrar Programación II
  • 18. Programación en C++ Nótese el uso de try – catch para el manejo de excepciones Programación II
  • 19. Programación en C++ Nótese el uso del método que permite consultar si se ha alcanzado o no el fin de archivo para controlar el recorrido de lectura Programación II
  • 20. Programación en C++ • Opciones en el modo de apertura: Bandera Modo app (append) coloca el apuntador de posición al final del archivo antes de cada operación de escritura. ate (at end) coloca el apuntador de posición al final del archivo al abrir el archivo. binary Considera el archivo como de tipo binario. in (input) para hacer operaciones de lectura. out (output) para hacer operaciones de escritura. trunc (truncate) se descarta cualquier información existente; se asume que el archivo está limpio al abrir. Programación II
  • 21. Programación en C++ • Archivos binarios con bloques más complejos: estructuras lineales. Programación II
  • 22. Programación en C++ Programación II
  • 23. Programación en C++ • ¿Cómo manejar el apuntador de posición leer / escribir en cualquier parte?  teelg: obtiene la posición actual del apuntador de lectura.  seekg: mueve la posición del apuntador de lectura.  teelp: obtiene la posición actual del apuntador de escritura.  seekp: mueve la posición del apuntador de escritura. Programación II
  • 24. Programación en C++ Posición absoluta Programación II
  • 25. Programación en C++ Posición relativa Programación II
  • 26. Programación en C++ • Opciones para usar con la operación seek:  Con un solo parámetro posición absoluta.  Con dos parámetros posición relativa basado en la siguiente tabla: Bandera Modo beg A partir del comienzo del archivo. cur Partiendo de la posición actual. end Desde el final del archivo. Programación II