Para empezar, C# .NET posee un mecanismo de lectura de ficheros de texto muy eficiente, siendo éste el siguiente:
// Método para procesar un fichero public void procesarFichero() { // Definimos un StreamReader StreamReader lector; string linea = ""; try{ lector = File.OpenText(fichero); // Lee linea a linea while ( (linea = lector.ReadLine()) != null){ //hacemos lo que queramos } // Cerramos la conexion lector.Close(); } catch (Exception e){ System.Console.WriteLine("Problemas al cargar el fichero.{0}", e); } }
El problema viene si al llevar a cabo el proceso de lectura, podemos observar que los string resultado no incorporan caracteres especiales como por ejemplo las tildes y acentos de otro tipo.
La causa de este problema es que el descriptor que hemos utilizado anteriormente sólo reconoce ficheros con codificación UTF-8 (por defecto), por lo que la entrada debe estar codificada de este modo. ¿entonces, cómo podemos convertir nuestro fichero de texto de toda la vida a UTF-8?
Pues muy sencillo: tomamos un editor básico de texto (bloc de notas de windows o similares), abrimos nuestro fichero, seleccionamos la opción de guardar como... y en el campo referente a codificación seleccionaremos utf-8
----------------
StreamReader Lector = new StreamReader(DireccionDeArchivo, Encoding.Default);
No hay comentarios:
Publicar un comentario