Open And Reading Files

546 views
480 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
546
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Open And Reading Files

  1. 1. Leyendo y Escribiendo Archivos Jonathan Aldave Mendoza Perú Jairo Alberto Contreras Barragán Microsoft Student Partner - Colombia
  2. 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
  3. 3. Antes de comenzar Stream FileStream MemoryStream BufferedStream …
  4. 4. Antes de comenzar static void leerStream(Stream stream) { stream.Position = 0; while (stream.Position != stream.Length) { Console.Write(stream.ReadByte()); } }
  5. 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. 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(); }
  7. 7. Manejando archivos y directorios
  8. 8. Abrir, Leer y Escribir en archivos class Program { - Read static void Main(string[] args) - Write { - ReadWrite string ruta = @quot;E:JairoDocumentssample.txtquot;; FileStream archivo1 = File.OpenRead(ruta); string cadenaTexto = quot;Hola latinoamerica!!!quot;; byte[] bytes = Encoding.ASCII.GetBytes(cadenaTexto); int no_bytes = bytes.Length; - Append archivo1.Write(bytes, 0, no_bytes); - Create } } - CreateNew - OpenOrCreate - Truncate
  9. 9. Abrir, Leer y Escribir en archivos class Program { - Read static void Main(string[] args) - Write { - ReadWrite string ruta = @quot;E:JairoDocumentssample.txtquot;; FileStream archivo1 = File.OpenWrite(ruta); string cadenaTexto = quot;Hola latinoamerica!!!quot;; byte[] bytes = Encoding.ASCII.GetBytes(cadenaTexto); int no_bytes = bytes.Length; - Append archivo1.Write(bytes, 0, no_bytes); - Create } } - CreateNew - OpenOrCreate - Truncate
  10. 10. Abrir, Leer y Escribir en archivos - Append - OpenOrCreate - Read - ReadWrite - Create - Truncate - Write - CreateNew 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); }
  11. 11. Abrir, Leer y Escribir en archivos - Append - OpenOrCreate - Read - ReadWrite - Create - Truncate - Write - CreateNew 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); }
  12. 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. 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
  14. 14. Mejorando la lectura static void Main(string[] args) y escritura { 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); } 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;; StreamWriter sw = new StreamWriter(archivo1); sw.Write(cadenaTexto); sw.Close(); archivo1.Close(); }
  15. 15. Mas allá de los archivos físicos
  16. 16. Usando la memoria
  17. 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. 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
  19. 19. Recuperando una imagen de una base de datos Demo
  20. 20. Aumentando la eficiencia
  21. 21. Aumentando la eficiencia
  22. 22. Aumentando la eficiencia
  23. 23. Aumentando la eficiencia
  24. 24. Aumentando la eficiencia using System; using System.Text; using System.IO; class Program { static void Main(string[] args) { string ruta = @quot;E:JairoDocumentssample.txtquot;; Stream fs = File.OpenRead(ruta); BufferedStream bufer = new BufferedStream(fs); byte[] bytes = new byte[128]; bufer.Read(bytes, 0, 128); Console.WriteLine(quot;Resultado de lectura: quot; + Encoding.ASCII.GetString(bytes)); Console.ReadLine(); } }
  25. 25. Hoy viste: Leyendo y Escribiendo Archivos MUCHAS GRACIAS Jonathan… Microsoft Student Partner – Colombia Jairo Alberto Contreras Barragán Microsoft Student Partner - Colombia

×