Caracter extraño al crear archivo

24/08/2008 - 20:59 por Alberto | Informe spam
Hola grupo,
apreciaria vuestra ayuda con este comportamiento extraño. Escribo a archivo
el contenido de una label, asi:
-
string texto = label1.Text;
System.IO.StreamWriter file = new System.IO.StreamWriter("fileName.txt");
file.WriteLine(texto);
file.Close();
-
La label contiene en varias lineas la secuencia de escape ""; cuando abro
el archivo para ver el contenido, en cada nueva linea creada aparece el
caracter "?" en lugar de una nueva linea, y a continuacion sigue el texto de
la siguiente linea.
¿Me podeis decir como puedo evitar que pase esto?
Agradezco vuestra ayuda al respecto,
Alberto

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
24/08/2008 - 21:32 | Informe spam
"Alberto" wrote in message
news:
apreciaria vuestra ayuda con este comportamiento extraño. Escribo a
archivo el contenido de una label, asi:
-
string texto = label1.Text;
System.IO.StreamWriter file = new System.IO.StreamWriter("fileName.txt");
file.WriteLine(texto);
file.Close();
-
La label contiene en varias lineas la secuencia de escape ""; cuando
abro el archivo para ver el contenido, en cada nueva linea creada aparece
el caracter "?" en lugar de una nueva linea, y a continuacion sigue el
texto de la siguiente linea.
¿Me podeis decir como puedo evitar que pase esto?
Agradezco vuestra ayuda al respecto,



Cuando dices "abro el archivo", hay que tener en cuenta que el resultado
visible en pantalla depende de la herramienta que uses para abrirlo. Hay
algunos programas que son capaces de entender el salto de línea al estilo
UNIX, es decir, con sólo "", y hay otros que solo lo muestran bien si
metes los saltos de línea al estilo de Ms-Dos y Windows, es decir, con
"".
Si quieres que se vea bien con tu programa, lo más sencillo es que antes
de grabarlo reemplaces el "" por "":
file.WriteLine(texto.Replace("", ""));
Respuesta Responder a este mensaje
#2 Alberto
24/08/2008 - 22:33 | Informe spam
Muchas gracias Alberto :-)
Ya noté que dependiendo del programa que uso para abrir el archivo muestra
la "nueva linea" de un modo distinto (he usado "NFO Viewer" y el Notepad; el
nfo viewer muestra la cadena ""Precio: £" + precio" asi: "Precio -£100").
Por lo que puedes ver tengo problemas con varios caracteres y el caso es que
estoy muy verde sobre este tema, ¿puedes guiarme a alguna fuente de
informacion que me ayude?
Gracias de nuevo,
Alberto


"Alberto Poblacion" wrote
in message news:
"Alberto" wrote in message
news:
apreciaria vuestra ayuda con este comportamiento extraño. Escribo a
archivo el contenido de una label, asi:
-
string texto = label1.Text;
System.IO.StreamWriter file = new System.IO.StreamWriter("fileName.txt");
file.WriteLine(texto);
file.Close();
-
La label contiene en varias lineas la secuencia de escape ""; cuando
abro el archivo para ver el contenido, en cada nueva linea creada aparece
el caracter "?" en lugar de una nueva linea, y a continuacion sigue el
texto de la siguiente linea.
¿Me podeis decir como puedo evitar que pase esto?
Agradezco vuestra ayuda al respecto,



Cuando dices "abro el archivo", hay que tener en cuenta que el
resultado visible en pantalla depende de la herramienta que uses para
abrirlo. Hay algunos programas que son capaces de entender el salto de
línea al estilo UNIX, es decir, con sólo "", y hay otros que solo lo
muestran bien si metes los saltos de línea al estilo de Ms-Dos y Windows,
es decir, con "".
Si quieres que se vea bien con tu programa, lo más sencillo es que
antes de grabarlo reemplaces el "" por "":
file.WriteLine(texto.Replace("", ""));

Respuesta Responder a este mensaje
#3 Alberto Poblacion
25/08/2008 - 10:33 | Informe spam
"Alberto" wrote in message
news:%
Ya noté que dependiendo del programa que uso para abrir el archivo muestra
la "nueva linea" de un modo distinto (he usado "NFO Viewer" y el Notepad;
el nfo viewer muestra la cadena ""Precio: £" + precio" asi:
"Precio -£100"). Por lo que puedes ver tengo problemas con varios
caracteres y el caso es que estoy muy verde sobre este tema



Cuando algunos caracteres te salen mal, normalmene se debe a que estás
grabando el archivo con una codificación de caratceres determinada, pero el
programa que lo lee trata de interpretarlo usando otra codificación
distinta. Por ejemplo, lo grabas en UTF-8, pero el programa con que luego lo
abres espera encontrarse Windows-1252. O viceversa.

Yo te recomendaría que al grabar con el StreamWriter especifiques
expresamente la codificación que deseas usar, y pruebes con las más comunes
hasta encontrar cuál es la que coincide exactamente con la esperada por el
programa que después tiene que leer el archivo. Si es un programa Windows,
la codificación más habitual es la 1252:

System.IO.StreamWriter file = new System.IO.StreamWriter("fileName.txt",
System.Text.Encoding.GetEncoding(1252));
Respuesta Responder a este mensaje
#4 Alberto
25/08/2008 - 12:01 | Informe spam
¡Muchas gracias Alberto!
Que pases un buen dia.
Saludos desde UK.
"Alberto Poblacion" wrote
in message news:
"Alberto" wrote in message
news:%
Ya noté que dependiendo del programa que uso para abrir el archivo
muestra la "nueva linea" de un modo distinto (he usado "NFO Viewer" y el
Notepad; el nfo viewer muestra la cadena ""Precio: £" + precio" asi:
"Precio -£100"). Por lo que puedes ver tengo problemas con varios
caracteres y el caso es que estoy muy verde sobre este tema



Cuando algunos caracteres te salen mal, normalmene se debe a que estás
grabando el archivo con una codificación de caratceres determinada, pero
el programa que lo lee trata de interpretarlo usando otra codificación
distinta. Por ejemplo, lo grabas en UTF-8, pero el programa con que luego
lo abres espera encontrarse Windows-1252. O viceversa.

Yo te recomendaría que al grabar con el StreamWriter especifiques
expresamente la codificación que deseas usar, y pruebes con las más
comunes hasta encontrar cuál es la que coincide exactamente con la
esperada por el programa que después tiene que leer el archivo. Si es un
programa Windows, la codificación más habitual es la 1252:

System.IO.StreamWriter file = new System.IO.StreamWriter("fileName.txt",
System.Text.Encoding.GetEncoding(1252));


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida