You are on page 1of 15

Cmo leer y escribir en un archivo

de texto mediante Visual C#

Email

Print
IMPORTANTE: Este artculo ha sido traducido por un software de traduccin
automtica de Microsoft (http://support.microsoft.com/gp/mtdetails) en
lugar de un traductor humano. Microsoft le ofrece artculos traducidos por
un traductor humano y artculos traducidos automticamente para que
tenga acceso en su propio idioma a todos los artculos de nuestra base de
conocimientos (Knowledge Base). Sin embargo, los artculos traducidos
automticamente pueden contener errores en el vocabulario, la sintaxis o la
gramtica, como los que un extranjero podra cometer al hablar el idioma.
Microsoft no se hace responsable de cualquier imprecisin, error o dao
ocasionado por una mala traduccin del contenido o como consecuencia de
su utilizacin por nuestros clientes. Microsoft suele actualizar el software de
traduccin frecuentemente.
816149
Para obtener una versin de Microsoft Visual Basic .NET de este artculo,
consulte 315828.

EN ESTA TAREA

RESUMEN

Requisitos

Lectura y escritura de ficheros

Leer un archivo de texto

Escribir un archivo de texto (ejemplo 1)

Escribir un archivo de texto (ejemplo 2)

Completar CodeListing

Solucin de problemas

REFERENCIAS

RESUMEN
En este artculo paso a paso describe cmo leer y escribir en un archivo de
texto mediante Visual C#.
volver al principio

Requisitos
La lista siguiente describe el hardware recomendado, software,
infraestructura de red y los service packs que debe tener:

Visual C#
En este artculo se supone que est familiarizado con el tema siguiente:

Visual C#
volver al principio

Leer y escribir archivos de texto


La seccin de un archivo de texto de lectura de este artculo describe cmo
utilizar la clase StreamReader para leer un archivo de texto. Escribir un
archivo de texto (ejemplo 1) y las secciones de escribir un archivo de texto
(ejemplo 2) describen cmo utilizar la clase StreamWriter para escribir
texto en un archivo.
volver al principio

Leer un archivo de texto


El cdigo siguiente utiliza la clase StreamReader para abrir, leer y cerrar
el archivo de texto. La ruta de acceso de un archivo de texto puede pasar al
constructor StreamReader para abrir el archivo automticamente. El
mtodo ReadLine lee cada lnea de texto e incrementa el puntero de
archivo a la siguiente lnea como lo lee.Cuando el

mtodo ReadLine alcanza el final del archivo, devuelve una referencia


nula.
1.

Crear un archivo de texto de ejemplo en el Bloc de notas. Para ello,


siga estos pasos:

a.

En el Bloc de notas, pegue el texto siguiente:

hello world

b.
2.

Guarde el archivo como ejemplo.txt.


Inicie Microsoft Visual Studio.

3.

En el men archivo, elija nuevo y, a continuacin, haga clic


en proyecto.

4.

Haga clic en Proyectos de Visual C# en Tipos de proyecto y, a


continuacin, haga clic en Aplicacin de consola en plantillas
Nota: En Visual Studio 2005 o Visual Studio 2008, haga clic en Visual
C# en Tipos de proyecto y, a continuacin, haga clic en Aplicacin de
consola en plantillas.

5.

Agregue el cdigo siguiente al principio del archivo Class1.cs:

using System.IO;

Nota: En Visual Studio 2005 o Visual Studio 2008, el archivo


predeterminado es Program.cs.
6.

Agregue el cdigo siguiente al mtodo Main:

7.

String line;

8.

try

9.

10.

//Pass the file path and file name to the


StreamReader constructor

11.

StreamReader sr = new
StreamReader("C:\\Sample.txt");

12.
13.

//Read the first line of text

14.

line = sr.ReadLine();

15.
16.

//Continue to read until you reach end of file

17.

while (line != null)

18.

19.

//write the lie to console window

20.

Console.WriteLine(line);

21.

//Read the next line

22.

line = sr.ReadLine();

23.

24.
25.

//close the file

26.

sr.Close();

27.

Console.ReadLine();

28.

29.

catch(Exception e)

30.

31.

Console.WriteLine("Exception: " + e.Message);

32.
33.

}
finally

34.

35.

Console.WriteLine("Executing finally block.");

36.

37.
En el men Depurar, haga clic en Iniciar para compilar y ejecutar la
aplicacin. Presione ENTRAR para cerrar la ventana de la consola. La
ventana de la consola muestra el contenido del archivo ejemplo.txt.

Hello world

volver al principio

Escribir un archivo de texto (ejemplo 1)


El cdigo siguiente utiliza la clase StreamWriter para abrir, escribir y
cerrar el archivo de texto. De forma similar a la clase StreamReader,
puede pasar la ruta de acceso de un archivo de texto al
constructor StreamWriter para abrir el archivo automticamente. El
mtodo WriteLine escribe una lnea completa de texto en el archivo de
texto.
1.

Inicie Visual Studio.

2.

En el men archivo, elija nuevo y, a continuacin, haga clic


en proyecto.

3.

Haga clic en Proyectos de Visual C# en Tipos de proyecto y, a


continuacin, haga clic en Aplicacin de consola en plantillas
Nota: En Visual Studio 2005 o Visual Studio 2008, haga clic en Visual
C# en Tipos de proyectoy, a continuacin, haga clic en Aplicacin de
consola CLR en plantillas.

4.

Agregue el cdigo siguiente al principio del archivo Class1.cs:

using System.IO;

5.

Agregue el cdigo siguiente al mtodo Main:

6.

try

7.

8.
9.

//Pass the filepath and filename to the


StreamWriter Constructor

10.

StreamWriter sw = new
StreamWriter("C:\\Test.txt");

11.
12.

//Write a line of text

13.

sw.WriteLine("Hello World!!");

14.
15.

//Write a second line of text

16.

sw.WriteLine("From the StreamWriter class");

17.
18.

//Close the file

19.

sw.Close();

20.

21.

catch(Exception e)

22.

23.

Console.WriteLine("Exception: " + e.Message);

24.

25.

finally

26.

27.

Console.WriteLine("Executing finally block.");

28.
En el men Depurar, haga clic en Iniciar para compilar y ejecutar la
aplicacin.

29.

Hello World!!

30.

From the StreamWriter class

volver al principio

Escribir un archivo de texto (ejemplo 2)


El cdigo siguiente utiliza la clase StreamWriter para abrir, escribir y
cerrar el archivo de texto. A diferencia del ejemplo anterior, este cdigo
pasa dos parmetros adicionales para el constructor. El primer parmetro
es la ruta de acceso y el nombre de archivo del archivo. El segundo
parmetro es True, especifica que el archivo est abierto en modo append.
Si se especifica False para el segundo parmetro, el contenido del archivo
se sobrescribe cada vez que ejecute el cdigo. El tercer parmetro
especifica Unicode, por lo que StreamWritercodifica el archivo en
formato Unicode. Tambin puede especificar los siguientes mtodos de
codificacin para el tercer parmetro:

ASC11

Unicode

UTF7
UTF8
El mtodo Write es similar al mtodo WriteLine, excepto que el
mtodo Write no incrusta automticamente un retorno de carro o salto de
lnea de combinacin de caracteres (CR/LF).

1.

Inicie Visual Studio.

2.

En el men archivo, elija nuevo y, a continuacin, haga clic


en proyecto.

3.

Haga clic en Proyectos de Visual C# en Tipos de proyecto y, a


continuacin, haga clic en Aplicacin de consola en plantillas
Nota: En Visual Studio 2005 o Visual Studio 2008, haga clic en Visual
C# en Tipos de proyectoy, a continuacin, haga clic en Aplicacin de
consola en plantillas

4.

Al principio del archivo Class1.cs, agregue el cdigo siguiente:

5.

using System.IO;

using System.Text;

Nota:
6.

Agregue el cdigo siguiente al mtodo Main:

7.

Int64 x;

8.
9.

try

10.

11.
12.

//Open the File


StreamWriter sw = new
StreamWriter("C:\\Test1.txt", true, Encoding.ASCII);

13.
14.

//Writeout the numbers 1 to 10 on the same line.

15.

for(x=0; x < 10; x++)

16.

17.

sw.Write(x);

18.

19.
20.

//close the file

21.

sw.Close();

22.

23.

catch(Exception e)

24.

25.

Console.WriteLine("Exception: " + e.Message);

26.

27.

finally

28.

29.

Console.WriteLine("Executing finally block.");

30.
En el men Depurar, haga clic en Iniciar para compilar y ejecutar la
aplicacin.

0123456789

volver al principio

Lista de cdigo completa

Leer un archivo de texto

//Read a Text File

using System;

using System.IO;

namespace readwriteapp

class Class1

[STAThread]

static void Main(string[] args)

String line;

try

//Pass the file path and file name to the


StreamReader constructor

StreamReader sr = new
StreamReader("C:\\Sample.txt");

//Read the first line of text

line = sr.ReadLine();

//Continue to read until you reach end of file

while (line != null)

//write the lie to console window

Console.WriteLine(line);

//Read the next line

line = sr.ReadLine();

//close the file

sr.Close();

Console.ReadLine();

catch(Exception e)

Console.WriteLine("Exception: " + e.Message);

finally

Console.WriteLine("Executing finally block.");

Escribir un archivo de texto (versin 1)

//Write a text file - Version-1

using System;

using System.IO;

namespace readwriteapp

class Class1

[STAThread]

static void Main(string[] args)

try

//Pass the filepath and filename to the


StreamWriter Constructor

StreamWriter sw = new
StreamWriter("C:\\Test.txt");

//Write a line of text

sw.WriteLine("Hello World!!");

//Write a second line of text

sw.WriteLine("From the StreamWriter class");

//Close the file

sw.Close();

catch(Exception e)

Console.WriteLine("Exception: " + e.Message);

finally

Console.WriteLine("Executing finally block.");

Escribir un archivo de texto (versin 2)

//Write a text file - Version 2

using System;

using System.IO;

using System.Text;

namespace readwriteapp

class Class1

[STAThread]

static void Main(string[] args)

Int64 x;

try

//Open the File

StreamWriter sw = new
StreamWriter("C:\\Test1.txt", true, Encoding.ASCII);

//Writeout the numbers 1 to 10 on the same line.

for(x=0; x < 10; x++)

sw.Write(x);

//close the file

sw.Close();

catch(Exception e)

Console.WriteLine("Exception: " + e.Message);

finally

Console.WriteLine("Executing finally block.");

Solucionar problemas
Para todas las manipulaciones de archivo, es buena prctica para ajustar el
cdigo dentro de un bloque try-catch-finally para controlar errores y
excepciones de programacin.

You might also like