CAPÍTULO 9 A R C H I V O S (FLUJOS)

Documentos relacionados
Estructura de Datos: Archivos

Sistemas Operativos. Curso 2016 Sistema de Archivos

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen

Todas las tareas que se realizan en un computador implican el uso de archivos y carpetas.

TEMA 7: Ficheros. TEMA 7: Ficheros Concepto de fichero

Contenidos. Archivos en C++ Archivos en C++ Introducción

Guia#12: Tema: Archivos en C#.

Una base de datos de Access puede estar conformada por varios objetos, los más comunes son los siguientes:

IIC1103 Introducción a la Programación. Ayudantía: Archivos

Manejo de Archivos en Lenguaje C++

Organización de la información en disco: archivos y carpetas

FUNDAMENTOS DE INFORMÁTICA

4. Escribe con palabras lo que significan las siguientes letras y di cuántos bytes hay aproximadamente: a) 1 Gb? b) 1 Mb? C) 1 Kb?

CESDE ESCUELA DE INFORMÁTICA SISTEMAS OPERACIONALES I CUESTIONARIO MOMENTO 2

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

Tema: Introducción al IDE de Microsoft Visual C#.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

ESCUELA DE LA SALUD PROGRAMA TÉCNICO EN SEGURIDAD Y SALUD EN EL TRABAJO SUBMÓDULO BÁSICO GUIA WINDOWS-CARPETAS Y COMPRIMIR

ESCUELA DE INFORMÁTICA

Computación II. Introducción a Visual Basic

PLAN DE ESTUDIOS DE INFORMÁTICA QUINTO GRADO DE PRIMARIA

Algoritmos y Programación Clase 7

Arquitectura de un sistema de cómputo

GUIA No 5. CREACIÓN DE SubVI s

Programación estructurada (Introducción a lenguaje C)

INTRODUCCIÓN AL MANEJO DE CARPETAS Y ARCHIVOS. Edublogg.wordpress.com. Caeiro Fábregas - Pérez

QQUANTUM COMPUTACION

Programación Estructurada

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

LEER Y ESCRIBIR ARCHIVOS DE TEXTO CON PHP. FUNCIONES FOPEN (MODOS), FGETS, FPUTS, FCLOSE Y FEOF. EJEMPLOS (CU00836B)

Universidad de Managua

Guía rápida para FAMILIAS

PERIODO 3 HOJA DE CÁLCULO CONCEPTOS INTERMEDIOS OPERACIONES CON CELDAS, FILAS Y COLUMNAS EN EXCEL SELECCIONAR COPIAR MOVER BORRAR

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

Introducción. Aparición en los 50, se facilita la comunicación entre el usuario y el ordenador Cualquier persona puede utilizar un ordenador.

Programación Orientada a Objetos. Java: Excepciones

Definición de Memoria

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O

Symantec Enterprise Vault

En particular para WORD y POWER POINT se recomienda leer los manuales de WORD 2010 y POWER POINT 2010 que fueron la base del curso normal.

Flujos (streams) Programación. Licenciatura Lingüística y Nuevas Tecnologias Nadjet Bouayad-Agha

Qué es un programa informático?

Concepto Definición Ejemplo. registros que tienen aspectos en común organizados, se guarda en. almacenamiento. secundario y se manipula en

TEMA 2: Sistemas Operativos

Introducción a Windows 98

ELEMENTOS QUE COMPONEN UNA COMPUTADORA

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11

2. Tipos de protección que hay actualmente (utiliza puntos). -Antivirus y cortafuegos.

Práctica A: Definición y uso de variables de tipo referencia

ORGANIZACION DE LA INFORMACION EN LA COMPUTADORA

Ficheros de acceso aleatorio

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control

Administración de la producción. Sesión 3: Procesador de Texto (Microsoft Word)

Manual Power Point. RGA Training & Solutions

Elementos de un programa en C

Conceptos básicos de bases de datos

Administración de la producción. Sesión 6: Presentaciones Gráficas

Servicio Nacional de Aprendizaje SENA. Regional Cundinamarca-Soacha. Programa Mantenimiento de Equipos de Cómputo. DOCUMENTO DE APOYO No.

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

Guía para la instalación de discos duro SATA y Configuración RAID

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

A la derecha de este botón irán apareciendo todas las aplicaciones abiertas en ese momento en el sistema.

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Por ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma:

Carpeta Virtual UC: Preguntas Frecuentes

Ejercicios de Programación Tema 7. Programación Orientada a Objetos

. Conceptos generales 1

Programación 2. Grado en Estadística Aplicada. Curso Generación de números pseudoaleatorios. Manejo de ficheros de texto.

Creación y manejo de la base de datos y tablas

SISTEMAS OPERATIVOS SISTEMA DE ARCHIVOS

Computadora y Sistema Operativo

INFORMATICA I EJERCICIOS PROPUESTOS Buscar en el diccionario Qué es INFORMÁTICA?, Qué es

Sesión No. 10. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access)

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA

Herramientas Informáticas I Software: Sistemas Operativos

Microsoft Windows Seven. Windows Seven. Elementos de la pantalla principal Iconos del escritorio o Equipo o Papelera de Reciclaje Barra de tareas

Nombres de archivo. Sistemas Operativos III - ETB EMT - CETP

Importación de Datos

Manual de instalación AutoFirma 1.4.3

Ordenador local + Servidor Remoto

Principios de Computadoras II

Guía Práctica Ingresa al nuevo mundo de Windows 8

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream].

HACER COPIAS DE SEGURIDAD EN WINDOWS

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Guía rápida para FAMILIAS

RESUMEN DE LA UNIDAD. 4 Primaria. Lee cuidadosamente y contesta las siguientes preguntas: Qué son los dispositivos periféricos opcionales?

Introducción a la Computación. Herramientas Informáticas. Omar Ernesto Cabrera Rosero Universidad de Nariño

SESIÓN 6 INTRODUCCIÓN A POWER POINT

Entrada y Salida vía Archivos

ARCHIVOS. 1. Introducción. 2. Definición de archivo. 3. Archivos de acceso secuencial. 4. Gestión de un archivo secuencial de estructuras

MANUAL DE INSTALACIÓN DEL SIAHM 2014 EN EQUIPOS TERMINALES

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

Mozilla Firefox. Barra de. Barra de navegación. menús. Barra de. Barra de dirección. marcadores

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)

Seagate Extended Capacity Manager

Transcripción:

CAPÍTULO 9 A R C H I V O S (FLUJOS) 2 http://www.itnuevolaredo.edu.mx/takeyas 1

Preguntas detonadoras Por qué una aplicación que almacena los datos en memoria los pierde cuando se termina o cuando se apaga el equipo de cómputo? Qué ventajas y desventajas ofrece una aplicación que solamente almacena datos en la memoria principal? Cómo se puede almacenar datos de manera permanente? Qué son los archivos y cómo se clasifican? Un archivo procesa datos? Se le puede definir cualquier nombre y extensión a un archivo? 3 Preguntas detonadoras Si se define la extensión de un archivo como jpg, entonces el archivo almacena de manera automática una imagen o fotografía que pueda ser visualizada mediante software comercial con este propósito? Cuáles con las operaciones internas que se pueden realizar con archivos? Se puede eliminar internamente un dato almacenado en el archivo? Cuáles con las operaciones externas que se pueden realizar con archivos? Quéesyparaquésirveunflujo? Qué se requiere agregar a una aplicación para que administre datos en archivos? Cuáles son las clases necesarias para administrar archivos en una aplicación? Se pueden almacenar objetos en un archivo? Cómo? 4 http://www.itnuevolaredo.edu.mx/takeyas 2

Por qué usar archivos? Algunos programas solamente manejan datos volátiles almacenados en la memoria principal. Necesidad de almacenar permanentemente los datos. Conservar los datos al salir de la aplicación y/o apagar la computadora. 5 Relaciónentre la memoriay los dispositivos de almacenamiento secundario 6 http://www.itnuevolaredo.edu.mx/takeyas 3

Archivos(flujos) Algunos autores los identifican también con el nombre de flujos Sirven como contenedores de datos en un dispositivo de almacenamiento secundario 7 Definicionesrelacionadascon archivos 8 http://www.itnuevolaredo.edu.mx/takeyas 4

Representación de un archivo 9 Tipos de archivos Tiposde archivos de acuerdo a su contenido De texto Binarios 10 http://www.itnuevolaredo.edu.mx/takeyas 5

Tipos de archivos Tiposde archivos de acuerdo al modode acceso Secuenciales Relativos(de acceso directo) 11 Archivos secuenciales 12 http://www.itnuevolaredo.edu.mx/takeyas 6

Archivos relativos (de acceso directo) 13 Archivo vs. archivero Operación o acción Archivero Archivo computacional Identificar la localización de la información Localizando el archivero Identificando la base de en particular que datos correspondiente a contiene las carpetas con la información que se la información que se solicita. Una base de solicita, ya que una datos es una colección oficina puede tener de archivos varios archiveros relacionados. P. Ejem. debidamente clasificados Profesores, estudiantes e identificados y materias están correlacionados. 14 http://www.itnuevolaredo.edu.mx/takeyas 7

Archivo vs. archivero Operación o acción Archivero Archivo computacional Identificar el lugar exacto Regularmente un Se recomienda que los donde se encuentra la archivero contiene varios archivos contengan información cajones, cada uno con datos relacionados con información debidamente un objeto de interés en clasificada y ordenada. particular y no de varios. P. Ejem. Sólo datos de estudiantes. 15 Archivo vs. archivero Operación o acción Archivero Archivo computacional Operaciones En un archivero se pueden agregar, extraer o cambiar documentos de las carpetas. Básicamente un archivo solo tiene 2 operaciones para el manejo de sus registros: Lectura Escritura Las demás operaciones se realizan como consecuencia de éstas. 16 http://www.itnuevolaredo.edu.mx/takeyas 8

Archivo vs. archivero Operación o acción Archivero Archivo computacional Apertura Obviamente cuando se requiere agregar o consultar carpetas del Para accesar los datos de un archivo es necesario abrirlo. cajón de un archivero, es Existen varios modos necesario primero abrirlo. de apertura de los archivos dependiendo de las operaciones que se deseen realizar en él. 17 Archivo vs. archivero Operación o acción Archivero Archivo computacional Clasificaciónde los datos Los cajones de los archiveros tienen separadores o pequeñas Los datos pueden ser almacenados de muchas formas diferentes en los pestañas para identificar las archivos y de esto depende carpetas. Estas facilitan el acceso, ya sea la inserción o la extracción de un carpeta en particular. la facilidad (o dificultad) que el archivo muestre para ciertas operaciones de acceso. A estas formas de almacenamiento se les conoce como organización del archivo. 18 http://www.itnuevolaredo.edu.mx/takeyas 9

Archivo vs. archivero Operación o acción Archivero Archivo computacional Cierre Cuando ya no se Cuando se termina desea utilizar un cajón de utilizar un archivo de un archivero es necesario cerrarlo, ya que de no hacerlo, se corre el riesgo de dañar o perder la información. es necesario cerrarlo. De esa forma se vacía la memoria caché y se asegura almacenar y proteger los datos. 19 Archivo vs. archivero Operación o acción Archivero Archivo computacional Seguridad Algunos gabinetes de El sistema operativo los archiveros cuentan puede controlar con un candado de seguridad. permisos de acceso a diferentes tipos de usuarios 20 http://www.itnuevolaredo.edu.mx/takeyas 10

Definiendo el nombre del archivo Declarar una variable de tipo string para almacenar el nombre del archivo (incluyendo la ruta de acceso) Usar doble diagonal para separar las carpetas de la ruta Usar una cadena verbatim (identificada porelsímbolo@) 21 Ejemplos de nombres de archivos Mediante una cadena normal: string NombreArchivo = "c:\\datos\\nosirven\\archivo.txt"; Mediante una cadena verbatim: public string NombreArchivo2 = @"c:\misdatos\ejemplo.txt"; 22 http://www.itnuevolaredo.edu.mx/takeyas 11

Algunasextensionesde nombresde archivos Extensión.exe.bat.jpg,.bmp,.gif,.tif.mpg,.avi.mp3,.wav.htm,.html.doc.xls.ppt.txt Descripción Archivo binario con una aplicación ejecutable. Archivo de texto de procesamiento por lotes con comandos ejecutables por el sistema operativo. Archivos binarios con imágenes o fotografías Archivos binarios con video Archivos binarios con audio Archivos de texto con páginas web Archivo binario con un documento de Microsoft Word Archivo binario con un documento de Microsoft Excel Archivo binario con un documento de Microsoft Power Point Archivo de texto sin formato 23 Extensiones de nombres de archivos Aunque el programador puede asignar cualquier nombre y extensión a un archivo, se recomienda que les coloque nombres relevantes de acuerdo a su contenido y el hecho de asignarle una extensión particular, no convierte al archivo al formato de la aplicación por defecto para dicha extensión. 24 http://www.itnuevolaredo.edu.mx/takeyas 12

Flujos Para almacenar o consultar datos en un archivo es necesario establecer un canal de comunicación. Este canal se conoce como flujo (stream eninglés). Este canal es un mensajero entre la aplicación y el archivo ubicado en un dispositivo de almacenamiento secundario (disco duro, memoria USB, CD, etc.) 25 Flujo (stream) Flujo para que la aplicación grabe datos Flujo para que la aplicación lea datos Archivo ubicado en un dispositivo de almacenamiento secundario 26 http://www.itnuevolaredo.edu.mx/takeyas 13

Operaciones con archivos Operaciones con archivos Lectura Escritura 27 Apertura de archivos 28 http://www.itnuevolaredo.edu.mx/takeyas 14

Actividadespara grabardatosen un archivo Orden Actividad 1 Abrir el archivo Acciones Abrir un flujo en modode escritura hacia el archivo. Si el archivo no existe, entonces debe crearse. 2 Escribir Grabar el dato en el archivo (por medio del flujo) 3 Cerrar Cerrar el archivo (por medio del flujo) 29 Actividadespara leer datosde un archivo Orden Actividad 1 Abrir el archivo Acciones Abrir un flujo en modode lectura hacia el archivo. Asegurarse que el archivo exista. 2 Leer Leer datos hasta llegar al final del archivo. 3 Cerrar Cerrar el archivo (por medio del flujo) 30 http://www.itnuevolaredo.edu.mx/takeyas 15

Espacio de nombres requerido using System.IO; // Para el uso de archivos 31 Algunas clases de System.IO Clase FileStream StreamWriter StreamReader File Descripción Permite crear objetos para leer o escribir datos en archivos. Para ello es necesario definir el nombre completo del archivo (incluyendo la ruta de ubicación de sus carpetas) Permite crear objetos que implementan un sistema de escritura de datos basado en secuencias de caracteres. Permite crear objetos que implementan un sistema de lectura de datos basado en secuencias de caracteres. Esta clase contiene métodos estáticos para manipular archivos como su creación, copiarlos, eliminarlos, moverlos o detectar su existencia. 32 http://www.itnuevolaredo.edu.mx/takeyas 16

Estableciendo el flujo de bytes a través de un objetode la clasefilestream Para escribir o leer datos en un archivo, es necesario abrirlo estableciendo un flujo al crear un objeto de la clase FileStream Es necesario definir el nombre del archivo (incluyendo la ruta de sus carpetas). 33 Constructores de la clase FileStream FileStream(string NombreArchivo, FileMode ModoDeApertura); FileStream(string NombreArchivo, FileMode ModoDeApertura, FileAccess ModoDeAcceso); 34 http://www.itnuevolaredo.edu.mx/takeyas 17

Modos de apertura de archivos (FileMode) FileMode CreateNew Truncate Create Open OpenOrCreate Append Uso Crea un nuevo archivo. Siel archivo existe dispara una IOException Abrir un archivo existente. Una vez abierto,el archivo será truncado a cero bytes de longitud. Crea un nuevo archivo. Si el archivo existe será sobreescrito. Abrir un archivo existente. Si no existe dispara una FileNotFoundException. Abrir un archivo existente, si no existe, lo crea. Abrir un archivo para agregar datos al final en caso de existir; de lo contrario crea un archivo nuevo. 35 Modos de acceso de archivos (FileAccess) FileAccess Read ReadWrite Write Uso Acceso al archivo en modo de solo lectura Acceso al archivo en modo de lectura y escritura Acceso al archivo en modo de solo escritura 36 http://www.itnuevolaredo.edu.mx/takeyas 18

Estableciendoel flujode escrituraa travésde un objetode la clase StreamWriter Para escribir datos en un archivo, es necesario abrirlo en modo escritura estableciendo un flujo al crear un objeto de la clase StreamWriter Ejemplo: StreamWriter flujoescritura= new StreamWriter(NombreArchivo); 37 Estableciendo el flujo de lectura a través de un objeto de la clase StreamReader Para leer datos de un archivo, es necesario abrirlo en modo lectura estableciendo un flujo al crear un objeto de la clase StreamReader Ejemplo: StreamReader flujolectura= new StreamReader(NombreArchivo); 38 http://www.itnuevolaredo.edu.mx/takeyas 19

Cómo detectarsi existeun archivo? if (File.Exists(NombreArchivo)) { } 39 La propiedad EndOfStream Todos los archivos contienen una marca invisible que indica su final Esta marca la coloca el sistema operativo yseconocecomo <EOF> (EndOf File) La propiedad EndOfStream devuelve el valor booleano true cuando detecta que seencuentraenel finaldelarchivo 40 http://www.itnuevolaredo.edu.mx/takeyas 20

Agregar() : void Declarar strnombrearchivo como string Declarar strlinea como string strnombrearchivo = "c:\\datos\\nosirven\\archivo.txt" "Teclee la línea que desea almacenar" strlinea FILE.Exist(strNombreArchivo) yes no GRABAR strlinea en strnombrearchivo return 41 static void Agregar() { string strnombrearchivo = "c:\\datos\\nosirven\\archivo.txt"; // Declaración de una variable con el nombre del archivo string strlinea = ""; // Declaración de la variable con la línea de texto Grabar una línea de texto en Console.WriteLine("\n\nTeclee la línea de texto que desea almacenar: "); strlinea = Console.ReadLine(); System.IO.FileStream flujo=null; // Declaración de un flujo mediante la clase FileStream un archivo System.IO.StreamWriter flujoescritura=null; // Declaración de un flujo de solo escritura mediante la clase StreamWriter // Intenta establecer un flujo de solo escritura try { if(system.io.file.exists(strnombrearchivo)) // Verifica si el archivo existe { flujo = new System.IO.FileStream(strNombreArchivo, System.IO.FileMode.Append); // Abre el archivo en modo "Agregar" flujoescritura = new System.IO.StreamWriter(flujo); // Establece el flujo de solo escritura con el archivo abierto } else flujoescritura= new System.IO.StreamWriter(strNombreArchivo); // Crea el archivo } flujoescritura.writeline(strlinea); // Graba la línea de texto en el archivo a través de su flujo Console.WriteLine("\nLínea de texto agregada al archivo!!!"); } catch(exception ex) { Console.Write("\nERROR: " + ex.message); } finally { // Cierra los archivos if (flujoescritura!= null) flujoescritura.close(); if (flujo!= null) flujo.close(); Console.ReadKey(); } 42 http://www.itnuevolaredo.edu.mx/takeyas 21

Listar() : void Declarar strnombrearchivo como string Declarar strlinea como string strnombrearchivo = "c:\\datos\\nosirven\\archivo.txt" ERROR(strNombreArchivo) yes "Error al abrir el archivo" return no WHILE NOT FinalDeArchivo (strnombrearchivo) no yes LEER strlinea de strnombrearchivo return strlinea 43 static void Listar() { string strnombrearchivo = "c:\\datos\\nosirven\\archivo.txt"; // Declaración del nombre del archivo string strlinea = ""; // Declaración de la variable con la línea de texto Grabar una línea de texto en // Intenta leer las líneas de texto almacenadas en el archivo un tryarchivo System.IO.StreamReader flujolectura=null; // Declaración de un flujo de solo lectura con la clase StreamReader { // Intenta abrir el archivo en modo solo lectura flujolectura = new System.IO.StreamReader(strNombreArchivo); } // Ciclo de lectura mientras NO se encuentre el final del archivo while (!flujolectura.endofstream) { strlinea=flujolectura.readline(); // Lee una línea de texto del archivo a través de su flujo Console.WriteLine(strLinea); // Despliega en pantalla la línea de texto leída del archivo } } catch(exception ex) { Console.WriteLine("ERROR: "+ex.message); } finally { // Cierra el archivo if (flujolectura!= null) flujolectura.close(); Console.WriteLine("\nFIN DEL ARCHIVO"); Console.ReadKey(); } 44 http://www.itnuevolaredo.edu.mx/takeyas 22

Cerrar el archivo Una vez usado el archivo, entonces debe cerrarse mediante: if (flujo!= null) flujo.close(); 45 Otros títulos del autor http://www.itnuevolaredo.edu.mx/takeyas/libro takeyas@itnuevolaredo.edu.mx Bruno López Takeyas http://www.itnuevolaredo.edu.mx/takeyas 23