09 - Archivos
09 - Archivos
09 - Archivos
NET
CAPÍTULO 9
A R C H I V O S
(FLUJOS)
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?
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é es y para qué sirve un flujo?
¿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
Archivos (flujos)
Algunos autores los identifican
también con el nombre de flujos
Representación de un archivo
Tipos de archivos
Tipos de • De texto
archivos
de acuerdo
a su contenido • Binarios
10
Tipos de archivos
Tipos de • Secuenciales
archivos
de acuerdo
al modo de • Relativos (de
acceso acceso directo)
11
Archivos secuenciales
12
13
14
15
16
17
18
19
20
21
22
24
Flujos
Para almacenar o consultar datos en un
archivo es necesario establecer un canal de
comunicación.
Este canal se conoce como flujo (stream
en inglé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)
26
27
Apertura de archivos
28
29
30
31
32
33
Constructores de la clase
FileStream
FileStream(string NombreArchivo,
FileMode ModoDeApertura);
FileStream(string NombreArchivo,
FileMode ModoDeApertura,
FileAccess ModoDeAcceso);
34
35
FileAccess Uso
Read Acceso al archivo en modo de solo lectura
ReadWrite Acceso al archivo en modo de lectura y
escritura
Write Acceso al archivo en modo de solo escritura
36
37
38
39
La propiedad EndOfStream
Todos los archivos contienen una
“marca”invisible que indica su final
Agregar() : void
strNombreArchivo = "c:\\Datos\\NoSirven\\Archivo.txt"
strLinea
yes
FILE.Exist(strNombreArchivo)
no
return 41
un archivo
strLinea = Console.ReadLine();
Listar() : void
strNombreArchivo = "c:\\Datos\\NoSirven\\Archivo.txt"
yes
ERROR(strNombreArchivo) "Error al abrir el archivo" return
no
WHILE no
NOT FinalDeArchivo
(strNombreArchivo)
yes
return
LEER strLinea de strNombreArchivo
strLinea
43
un archivo
// Intenta leer las líneas de texto almacenadas en el archivo
try
{
// Intenta abrir el archivo en modo solo lectura
flujoLectura = new System.IO.StreamReader(strNombreArchivo);
44
Cerrar el archivo
Una vez usado el archivo, entonces debe
cerrarse mediante:
if (flujo!= null)
flujo.Close();
45