Aguas con el encoding al leer un archivo.

Leer archivos de texto linea por linea es muy muy sencillo con .Net, con el viejo metodo ReadLine del StreamReader:

System.IO.StreamReader file = new System.IO.StreamReader(ruta);
linea = file.ReadLine()

Sin embargo, el dia de hoy me salio un problema con este método, pues tenia un archivo con el caracter à, que es escencialmente diferente del caracter á por el acento invertido. Resulto que el ReadLine me estaba truncando este caracter. Despues de un ratito de quebradero de cabeza, la solucion fue indicarle el encoding al StreamReader a la hora de abrir el archivo:

System.IO.StreamReader file = new System.IO.StreamReader(ruta,System.Text.Encoding.Default);

Definitivamente esta es una saludable práctica que incluiré a partir de hoy en mis desarrollos.∞

Leave a Reply