texto - manejo de archivos en c# ejemplos
¿Debo cerrar explícitamente el StreamReader en C#cuando lo uso para cargar un archivo en una variable de cadena? (6)
Ejemplo:
variable = new StreamReader( file ).ReadToEnd();
Es eso aceptable?
Es mejor utilizar la palabra clave using ; entonces no es necesario cerrar explícitamente nada.
Es una buena práctica cerrar StreamReader
. Use la siguiente plantilla:
string contents;
using (StreamReader sr = new StreamReader(file))
{
contents = sr.ReadToEnd();
}
No, esto no cerrará el StreamReader. Tienes que cerrarlo. El uso hace esto por usted (y lo descarta para que sea más rápido):
using (StreamReader r = new StreamReader("file.txt"))
{
allFileText = r.ReadToEnd();
}
O alternativamente en .Net 2 puede usar el nuevo archivo. miembros estáticos, entonces no necesita cerrar nada:
variable = File.ReadAllText("file.txt");
Sí, cada vez que crea un objeto desechable debe deshacerse de él de preferencia con una declaración de uso
using (var reader = new StreamReader(file)) {
variable = reader.ReadToEnd(file);
}
En este caso, puedes usar el método File.ReadAllText
para simplificar la expresión
variable = File.ReadAllText(file);
Siempre debe disponer de sus recursos.
// the using statement automatically disposes the streamreader because
// it implements the IDisposable interface
using( var reader = new StreamReader(file) )
{
variable = reader.ReadToEnd();
}
O al menos llamarlo manualmente:
reader = new StreamReader(file);
variable = reader.ReadToEnd();
reader.Close();
IDisposable
de los objetos que implementan IDisposable
. Use una instrucción using
para asegurarse de que se elimine sin llamar explícitamente al método Dispose.
using (var reader = new StreamReader(file))
{
variable = reader.ReadToEnd();
}
Alternativamente, use File.ReadAllText(String)
variable = File.ReadAllText(file);