Estoy tratando de leer en un archivo de texto de 150 MB en un cuadro de texto enriquecido.C# - Leer en un archivo de texto grande (150 MB) en un cuadro de texto enriquecido
Actualmente, estoy usando un StreamReader para recorrer cada línea en el archivo, agregando cada línea a una instancia de StringBuilder.
Esto funciona para archivos más pequeños, pero obtengo una excepción System.OutOfMemory cuando intento leer archivos de gran tamaño.
No veo ningún problema con la lectura de un archivo de 150 mb: hay mucha memoria física y eso está dentro del espacio de direcciones de la aplicación Windows de 32 bits.
Si alguien aquí tiene alguna idea de cómo hacer esto, sería muy apreciado.
Adjuntaré mi código al final.
Gracias.
StringBuilder sb = new StringBuilder();
using (StreamReader sr = new StreamReader(fileLocation))
{
string line;
while ((line = sr.ReadLine()) != null)
{
sb.AppendLine(line);
}
}
return sb;
+1, buena pregunta. –
¿Podría publicar un seguimiento de pila? Entonces, podemos ver exactamente dónde ocurre la excepción. Además, esto podría estar relacionado: http://stackoverflow.com/questions/363680/stringbuilder-for-string-concatenation-throws-outofmemoryexception (con respecto a los constructores de cadenas) – Christoffer
Aclare, este código (la parte de lectura) arroja la excepción ¿O eso sucede cuando cargas el RTB? –