1. Leyendo y Escribiendo Archivos
Jonathan Aldave Mendoza
Perú
Jairo Alberto Contreras Barragán
Microsoft Student Partner - Colombia
2. Agenda
Manejando
• Clases File y Directory
archivos y • Enumeraciones FileAccess y FileMode
directorios
Lectura y
• Clase StreamFile
Escritura de • Facilitando tareas de Lectura y Escritura
Archivos
Mas allá de los • Uso de la memoria
archivos físicos • Aplicando Búferes
4. Antes de comenzar
static void leerStream(Stream stream)
{
stream.Position = 0;
while (stream.Position != stream.Length)
{
Console.Write(stream.ReadByte());
}
}
5. Manejando archivos y
directorios
- Abrir y Crear archivos
- Operaciones de escritura y lectura de archivos
- Al crear o abrir un archivo, retorno diferentes clases de objetos
- Ofrece la funcionalidad necesario para interactuar con directorios
- Crear y eliminar directorios
- Consultar el estado del directorio.
6. Manejando archivos y
static void Main(string[] args)
directorios
{
string ruta = @quot;E:JairoDocumentssample.txtquot;;
Console.WriteLine(quot;El archivo existe?: {0}quot;, File.Exists(ruta));
Console.WriteLine(quot;Fecha de creación: {0}quot;, File.GetCreationTime(ruta));
Console.WriteLine(quot;Fecha última de consulta: {0}quot;, File.GetLastAccessTime(ruta));
Console.WriteLine(quot;Fecha última modificación: {0}quot;, File.GetLastWriteTime(ruta));
ruta = @quot;E:JairoDocumentsquot;;
Console.WriteLine(quot;El directorio existe?: {0}quot;, Directory.Exists(ruta));
Console.WriteLine(quot;Archivos de la carpeta Documents:nquot;);
string[] archivos = Directory.GetFiles(ruta);
foreach(string name in archivos)
Console.WriteLine(quot;- {0}quot;,name);
Console.WriteLine(quot;nnDirectorios dentro de la carpeta Documents:nquot;);
string[] directorios = Directory.GetDirectories(ruta);
foreach(string name in directorios)
Console.WriteLine(quot;- {0}quot;, name);
Console.ReadKey();
}
12. La clase FileStream provee la funcionalidad
básica para abrir archivos de escritura o
lectura.
static void Main(string[] args)
{
string ruta = @quot;E:JairoDocumentssample.txtquot;;
FileStream archivo1;
archivo1 = File.Open(ruta,FileMode.OpenOrCreate,FileAccess.Write);
string cadenaTexto = quot;Hola latinoamerica!!!quot;;
byte[] bytes = Encoding.ASCII.GetBytes(cadenaTexto);
int no_bytes = bytes.Length;
archivo1.Write(bytes, 0, no_bytes);
}
13. La clase FileStream provee la funcionalidad
básica para abrir archivos de escritura o
lectura.
Lectura de archivos de texto
Escritura de archivos de texto
17. Usando la memoria
VENTAJAS
Lectura eficiente
Escritura eficiente
Facilidad para persistir
CONSIDERACIONES
En principio no hay persistencia
Contiene un buffer interno para mayor eficiencia
18. Método Descripción
ToWrite Escribe el contenido completo de esta
secuencia de memoria en otra
secuencia.
Flush Se sobrecarga para volverlo inválido