MANIPULACION DE ARCHIVOS DE TEXTO PLANO CON C#
Enviado por RomanDG • 19 de Agosto de 2013 • 1.880 Palabras (8 Páginas) • 1.080 Visitas
Manipulador de archivos de texto plano
La lectura y escritura a un archivo son hechas usando un concepto genérico llamado stream. La idea detrás del stream existe hace tiempo, cuando los datos son pensados como una transferencia de un punto a otro, es decir, como un flujo de datos. En el ambiente .NET se puede encontrar muchas clases que representan este concepto que trabaja con archivos o con datos de memoria.
FileStream: Nos permite una forma básica de acceder y manipular ficheros.
Algunas clases que C# provee para resolver este acceso a fuentes diversas incluyen las clases de tipo: Reader y Writer.
StreamReader y StreamWriter: Las cuales están diseñadas para lectura y escritura de archivos de texto. Estas clases se asumen como de un nivel más alto que FileStream.
Using System.IO
Para el uso de estas clases, es necesario referenciar el uso del namespace
System.IO, ya que System no contiene los elementos para el manejo de archivos. Por ello, los programas con acceso a archivos deben incluir la línea:
using System.IO;
Manejo de archivos
El manejo de archivo involucra las siguientes operaciones generales:
Crear archivo:
File.Create(Directorio);
Escribir en archivo:
StreamWriter Escribir = new StreamWriter(Directorio);
Escribir.Write(Contenido);
Escribir.Close();
Leer archivo:
StreamReader Leer = new StreamReader(Directorio);
Contenido = Leer.ReadToEnd();
Leer.Close();
Abrir archivo:
StramWriter Abrir = new StreamWriter(Directorio);
File.Open(Directorio);
Abrir.Close();
Eliminar en archivo:
File.Delete(Directorio);
Copiar el archivo:
File.Copy(Origen, Destino);
Mover el archivo:
File.Move(Origen, Destino);
Reemplazar el archivo:
File.Replace(Origen, Destino, BackUp);
Lectura de un archivo con StreamReader
Son básicamente tres los métodos propios de StreamReader que permiten efectuar lectura desde el stream (archivo) declarado.
ReadLine:
Al igual que el conocido Console.ReadLine (), este método lee una línea completa de un archivo de texto hasta el cambio de línea más próximo. Al igual que su equivalente de consola, StreamReader.ReadLine () no incluye en el string el caracter de cambio de línea.
ReadToEnd:
Este método, por su parte, se encarga de acumular la información que hay desde la lectura anterior (que pudo haberse hecho con ReadLine(), por ejemplo) hasta el final del archivo, todo en el mismo string.
Read:
Finalmente, el método simple Read se encarga de leer un caracter a la vez, lo que permite procesar símbolo por símbolo el contenido del archivo. Convenientemente, este método reconoce el cambio de línea y se lo salta como si no existiese. Cuando se encuentra con el fin de archivo, retorna un valor –1, considerando que su retorno es siempre un int (y no un char).
Este mismo método ofrece una declaración alternativa (sobrecarga), donde es posible leer una cantidad específica de caracteres y almacenarlos en un arreglo de enteros.
Escritura de una archivo con StreamWriter
Esta clase funciona prácticamente de la misma manera que StreamReader, excepto que su propósito es únicamente para escribir dentro de un archivo (u otro stream). Es relevante distinguir que en este caso, el proceso de apertura para escritura considera que:
Si el archivo no existe lo crea vacío para comenzar a escribir.
Si el archivo ya existe, lo deja vacío para comenzar a escribir.
Si el archivo ya existe, es posible abrirlo en forma “Append” (agregar) para escribir al final.
Hay básicamente dos métodos propios de StreamWriter que permiten escribir hacia el stream (archivo) declarado y son los mismos que se usan para escribir en la consola: Write y WriteLine.
WriteLine:
Totalmente equivalente a Console.WriteLine, se utiliza la misma idea, y el mismo formato, sabiendo que se estará escribiendo el texto no a la consola, sino que al stream abierto con el constructor.
Write:
También presente, el método simple Write, permite escribir texto en el stream, de la misma forma que su equivalente método de la clase Console.
Métodos para manipular unidades de acceso y directorios
Entre las clases que nos permiten trabajar con los archivos, directorios y las unidades de disco, podemos destacar las siguientes:
Directory: Proporciona métodos estáticos para crear, mover y enumerar los archivos de directorios y subdirectorios.
File: Proporciona métodos estáticos para crear, copiar, eliminar, mover y abrir archivos, además de ayudar a la creación de objetos FileStream.
Path: Proporciona métodos y propiedades para procesar cadenas relacionadas con los directorios.
Programación orientada a objetos
La POO es la técnica de programación que utiliza objetos como bloque esencial de construcción.
Terminología de la POO
• Abstracción: Es la capacidad de separar los elementos (al menos mentalmente) para poder verlos de forma singular
• Encapsulación: Mediante la encapsulación, los datos se ocultan, dentro de una clase y la clase implementa un diseño que permite que otras partes del código accedan a esos datos de manera eficiente. Imagine la encapsulación como un envoltorio protector que rodea a los datos de la clase de C#.
• Campos: Los campos son miembros de datos de una clase. Son variables que pertenecen a una clase, y en términos de POO gestionan el estado de una clase.
• Clase: Es una colección de código y de variables. Las clases gestionan el estado, en forma de las variables que contienen, y comportamientos, en forma de los métodos que lo contienen. Sin embargo una clase es una simple plantilla.
• Constructor: Los constructores de estructuras son métodos especiales que se ejecutan cuando se crea una variable del tipo de la estructura. Los constructores suelen usarse para inicializar una estructura con un estado conocido.
• Métodos: Son bloques de instrucciones que devuelven o no algún tipo de valor cuando se ejecutan. Pueden ser llamados mediante un nombre; y llamar a un método hace que las instrucciones
...