7 manejo de archivos
TRANSCRIPT
Módulo I- Introducción a la Programación en Módulo I- Introducción a la Programación en la Plataforma .Net con C#la Plataforma .Net con C#
TEMARIOTEMARIO
CAPITULO III.- INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C#
Introducción Manejo ArchivosIntroducción Manejo Archivos Utilizando las Clases File y Utilizando las Clases File y
FileInfoFileInfo Utilizando la Clase StreamUtilizando la Clase Stream
Manejo de ArchivosManejo de ArchivosInteractuar con archivos es un común requerimiento de muchas aplicaciones.
El Namespace System.IO contiene un conjunto de clases que simplifican la interacción con el sistema de archivo, ejemplo: Las clases File and FileInfo.
La Clase Files:La Clase Files: La Clase FileInfo:La Clase FileInfo:Copy()
Create()
Delete()
Exists()
CopyTo()
Delete()
Length
Open()
INTRODUCCIÓN MANEJO DE ARCHIVOSINTRODUCCIÓN MANEJO DE ARCHIVOS
Escribiendo y Leyendo de Archivos Utilizando File y Escribiendo y Leyendo de Archivos Utilizando File y FileInfoFileInfo
string filePath = "myFile.txt";...byte[] data = File.ReadAllBytes(filePath); // Datos Binarios.string[] lines = File.ReadAllLines(filePath); // Lectura Por Lineas.string data = File.ReadAllText(filePath); // Archivo completo.
string filePath = "myFile.txt";...byte[] data = File.ReadAllBytes(filePath); // Datos Binarios.string[] lines = File.ReadAllLines(filePath); // Lectura Por Lineas.string data = File.ReadAllText(filePath); // Archivo completo.
Leyendo data desde archivo
string filePath = "myFile.txt";...string[] fileLines = {"Line 1", "Line 2", "Line 3"};File.AppendAllLines(filePath, fileLines); // Concatenar Lineas.File.WriteAllLines(filePath, fileLines); // Escribir por linea....string fileContents = "I am writing this text to a file ...“; File.AppendAllText(filePath, fileContents); // Concatenar texto..File.WriteAllText(filePath, fileContents); // Escribir todas las lineas.
string filePath = "myFile.txt";...string[] fileLines = {"Line 1", "Line 2", "Line 3"};File.AppendAllLines(filePath, fileLines); // Concatenar Lineas.File.WriteAllLines(filePath, fileLines); // Escribir por linea....string fileContents = "I am writing this text to a file ...“; File.AppendAllText(filePath, fileContents); // Concatenar texto..File.WriteAllText(filePath, fileContents); // Escribir todas las lineas.
Escribiendo data en archivo
Manipulando DirectoriosManipulando DirectoriosEl Namespace System.IO contiene las clases Directory y DirectoryInfo las cuales ayudan a simplificar la interacción con directorios
string dirPath = @"C:\Users\Student\MyDirectory";...Directory.CreateDirectory(dirPath); Directory.Delete(dirPath);string[] dirs = Directory.GetDirectories(dirPath);string[] files = Directory.GetFiles(dirPath);
string dirPath = @"C:\Users\Student\MyDirectory";...Directory.CreateDirectory(dirPath); Directory.Delete(dirPath);string[] dirs = Directory.GetDirectories(dirPath);string[] files = Directory.GetFiles(dirPath);
string dirPath = @"C:\Users\Student\MyDirectory";DirectoryInfo dir = new DirectoryInfo(dirPath); ...bool exists = dir.Exists;DirectoryInfo[] dirs = dir.GetDirectories();FileInfo[] files = dir.GetFiles();string fullName = dir.FullName;
string dirPath = @"C:\Users\Student\MyDirectory";DirectoryInfo dir = new DirectoryInfo(dirPath); ...bool exists = dir.Exists;DirectoryInfo[] dirs = dir.GetDirectories();FileInfo[] files = dir.GetFiles();string fullName = dir.FullName;
Clase Directory
Clase DirectoryInfo
Que es un Streams?Que es un Streams?
Fuente Repositorio
Aplicación
0100011
1110010
1010010
Un Stream es un mecanismo que nos permite manipular los datos en partes manejables.
Leyendo y Escribiendo Datos Binarios
byte[] dataCollection = { 1, 4, 6, 7, 12, 33, 26, 98, 82, 101 };FileStream destFile = new FileStream(destinationFilePath);BinaryWriter writer = new BinaryWriter(destFile);foreach (byte data in dataCollection){ writer.Write(data);}writer.Close();destFile.Close();
byte[] dataCollection = { 1, 4, 6, 7, 12, 33, 26, 98, 82, 101 };FileStream destFile = new FileStream(destinationFilePath);BinaryWriter writer = new BinaryWriter(destFile);foreach (byte data in dataCollection){ writer.Write(data);}writer.Close();destFile.Close();
FileStream sourceFile = new FileStream(sourceFilePath);BinaryReader reader = new BinaryReader(sourceFile);int position = 0;int length = (int)reader.BaseStream.Length;byte[] dataCollection = new byte[length];int returnedByte;while ((returnedByte = reader.Read()) != -1){ dataCollection[position] = (byte)returnedByte; position += sizeof(byte);}reader.Close();sourceFile.Close();
FileStream sourceFile = new FileStream(sourceFilePath);BinaryReader reader = new BinaryReader(sourceFile);int position = 0;int length = (int)reader.BaseStream.Length;byte[] dataCollection = new byte[length];int returnedByte;while ((returnedByte = reader.Read()) != -1){ dataCollection[position] = (byte)returnedByte; position += sizeof(byte);}reader.Close();sourceFile.Close();
Clase BinaryReader
Clase BinaryWriter
Leyendo y Escribiendo TextoLeyendo y Escribiendo TextoFileStream sourceFile = new FileStream(sourceFilePath);StreamReader reader = new StreamReader(sourceFile);StringBuilder fileContents = new StringBuilder();while (reader.Peek() != -1){ fileContents.Append((char)reader.Read());}string data = fileContents.ToString();reader.Close();sourceFile.Close();
FileStream sourceFile = new FileStream(sourceFilePath);StreamReader reader = new StreamReader(sourceFile);StringBuilder fileContents = new StringBuilder();while (reader.Peek() != -1){ fileContents.Append((char)reader.Read());}string data = fileContents.ToString();reader.Close();sourceFile.Close();
FileStream destFile = new FileStream( “..."); StreamWriter writer = new StreamWriter(destFile);
writer.WriteLine(“Hola, Esto se escribira en el archivo");
writer.Close();destFile.Close();
FileStream destFile = new FileStream( “..."); StreamWriter writer = new StreamWriter(destFile);
writer.WriteLine(“Hola, Esto se escribira en el archivo");
writer.Close();destFile.Close();
Clase StreamReader
Clase StreamWriter
EjerciciosEjercicios
1.1. Desarrollar un programa que guarde y lea de un Desarrollar un programa que guarde y lea de un archivo utilizando la clase (File o FileInfo) los archivo utilizando la clase (File o FileInfo) los siguientes dato: Cedula, Nombre, Apellido, siguientes dato: Cedula, Nombre, Apellido, Teléfono, Fecha Nacimiento. El programa debe Teléfono, Fecha Nacimiento. El programa debe permitir escribir un máximo de 5 registros con los permitir escribir un máximo de 5 registros con los datos especificados. El menú consiste de una datos especificados. El menú consiste de una opción para escribir y otra de lectura que mostrara opción para escribir y otra de lectura que mostrara cada registro con sus datos en pantalla.cada registro con sus datos en pantalla.
2.2. Desarrollar el programa anterior utilizando Desarrollar el programa anterior utilizando FileStream, StreamWriter y StreamReaderFileStream, StreamWriter y StreamReader