Este artículo paso a paso describe cómo leer de y
escribir en un archivo de texto mediante el uso de Visual C#.
Requisitos
En la lista siguiente describe el hardware recomendado, software,
infraestructura de red y los service packs que debe tener:
Este artículo se supone que está familiarizado con lo siguiente
tema:
Leer y escribir archivos de texto
El
Leer un archivo de textosección de este artículo describe cómo utilizar la clase
StreamReader para leer un archivo de texto. El
Escribir un archivo de texto (ejemplo 1) y el
Escribir un archivo de texto (ejemplo 2)secciones describen cómo utilizar la clase
StreamWriter para escribir texto en un archivo.
Leer un archivo de texto
El código siguiente utiliza la clase
StreamReader para abrir, leer y cerrar el archivo de texto. Se puede pasar
la ruta de acceso de un archivo de texto para el constructor de la
clase StreamReader para abrir el archivo
de forma automática. El método
ReadLine lee cada línea de texto e incrementa el puntero de archivo a
la siguiente línea tal como se lee. Cuando el método
ReadLine llega al final del archivo, devuelve una referencia nula.
- Crear un archivo de texto de ejemplo en el Bloc de notas. Para ello, siga estos pasos:
- En el Bloc de notas, pegue el texto siguiente:
- Guarde el archivo como ejemplo.txt.
- Inicie Microsoft Visual Studio.
- En el Archivo menú, elija Nuevoy, a continuación, haga clic en Proyecto.
- Haga clic en Proyectos de Visual C# bajo Tipos de proyectoy, a continuación, haga clic en Aplicación de consola bajo Plantillas
Nota En Visual Studio 2008 de Visual Studio 2005 de o bien, haga clic en Visual C# bajo Tipos de proyectoy, a continuación, haga clic en Aplicación de consola bajo Plantillas. - Agregue el código siguiente al principio del archivo Class1.cs:Nota En Visual Studio 2005 de o 2008 de Visual Studio, el archivo predeterminado es Program.cs.
- Agregue el siguiente código al método Main :
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.");
}
- En el Depurar menú, haga clic en Inicio Para compilar y ejecutar la aplicación. Presione
ENTRAR para cerrar la ventana de consola. La ventana de consola
Muestra el contenido del archivo ejemplo.txt.
Escribir un archivo de texto (ejemplo 1)
El código 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 automáticamente. El método
WriteLine
Escribe una línea completa de texto en el archivo de texto.
- Inicie Visual Studio.
- En el Archivo menú, elija Nuevoy, a continuación, haga clic en Proyecto.
- Haga clic en Proyectos de Visual C# bajo Tipos de proyectoy, a continuación, haga clic en Aplicación de consola bajo Plantillas.
Nota En Visual Studio 2008 de Visual Studio 2005 de o bien, haga clic en Visual C# bajo Tipos de proyectoy, a continuación, haga clic en Aplicación de consola CLR bajo Plantillas. - Agregue el código siguiente al principio del archivo Class1.cs:
- Agregue el siguiente código al método Main :
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.");
} - En el Depurar menú, haga clic en Inicio Para compilar y ejecutar la aplicación. Este código crea un archivo
que se denomina Test.txt en la unidad C. de Test.txt abierto en un editor de texto como el Bloc de notas.
Test.txt contiene dos líneas de texto:
Hello World!!
From the StreamWriter class
Escribir un archivo de texto (ejemplo 2)
El código siguiente utiliza la clase
StreamWriter para abrir, para escribir, y
para cerrar el archivo de texto. A diferencia del ejemplo anterior, este código pasa dos
parámetros adicionales al constructor. El primer parámetro es la ruta de acceso de archivo
y el nombre de archivo del archivo. El segundo parámetro
es True, especifica que el archivo
se abre en modo append. Si especifica
False para el segundo parámetro, el
contenido del archivo se sobrescribe cada vez que ejecute el código. La tercera
parámetro especifica
Unicode, por lo que
StreamWriter codifica el archivo en formato Unicode.
También puede especificar los siguientes métodos de codificación para el tercer parámetro:
El método
Write es similar al método
WriteLine , excepto en que el método
Write no incrusta automáticamente un retorno de carro o avance de línea
Combinación de caracteres (CR/LF). Esto es útil cuando desea escribir uno
carácter a la vez.
- Inicie Visual Studio.
- En el Archivo menú, elija Nuevoy, a continuación, haga clic en Proyecto.
- Haga clic en Proyectos de Visual C# bajo Tipos de proyectoy, a continuación, haga clic en Aplicación de consola bajo Plantillas
Nota En Visual Studio 2008 de Visual Studio 2005 de o bien, haga clic en Visual C# bajo Tipos de proyectoy, a continuación, haga clic en Aplicación de consola bajo Plantillas - Agregue el código siguiente al principio del archivo Class1.cs :
using System.IO;
using System.Text;
Nota En Visual Studio 2005 de o 2008 de Visual Studio, el archivo predeterminado es Program.cs. - Agregue el siguiente código al método Main :
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.");
} - En el Depurar menú, haga clic enInicio Para compilar y ejecutar la aplicación. Este código crea
un archivo denominado Test1.txt en la unidad C. Test1.txt de abrir en un editor de texto como
Bloc de notas. Test1.txt contiene una sola línea de texto:
Lista de código 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 (versión 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 (versión 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 todos los archivos de las manipulaciones, es buena programación
práctica para ajustar el código dentro de un bloque
try-catch-finally para controlar errores y excepciones. En concreto, puede que desee
para liberar los identificadores para ese archivo en el bloque final para que el archivo no es
bloqueada indefinidamente. Algunos de los errores posibles incluyen un archivo que no existe,
o un archivo que ya está en uso.
Id. de artículo: 816149 - Última revisión: domingo, 10 de marzo de 2013 - Versión: 8.0
La información de este artículo se refiere a:
- Microsoft Visual C# .NET 2003 Standard Edition
- Microsoft Visual C# 2005 Express Edition
- Microsoft Visual C# 2008 Express Edition
| kbfileio kbconsole kbhowtomaster kbhowto kbmt KB816149 KbMtes |
Traducción automáticaIMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés):
816149
(http://support.microsoft.com/kb/816149/en-us/
)