Foros del Web » Programación para mayores de 30 ;) » Java »

"text/plain" y escribir en fichero texto

Estas en el tema de "text/plain" y escribir en fichero texto en el foro de Java en Foros del Web. Buenas! Intento escribir en un fichero texto con text/plain mediante un StringBuffer, y lo que quiero que m escriba lo hace correctamente, el problema es ...
  #1 (permalink)  
Antiguo 21/02/2007, 10:19
 
Fecha de Ingreso: julio-2006
Mensajes: 206
Antigüedad: 17 años, 9 meses
Puntos: 2
"text/plain" y escribir en fichero texto

Buenas!

Intento escribir en un fichero texto con text/plain mediante un StringBuffer, y lo que quiero que m escriba lo hace correctamente, el problema es q siempre m escribe en el fichero de texto caracteres de salto de linea o retorno de carro ("rectangulitos blancos") y a continuacion mi texto correctamente, no se porq sera si por el editor, o porq debo resetear el StringBuffer...

Gracias y un saludo!
  #2 (permalink)  
Antiguo 21/02/2007, 13:26
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Re: "text/plain" y escribir en fichero texto

Hola:

En windows un retorno de carro son dos caracteres, un \r seguido de un \n
En unix un retorno de carro solo es un \n

Java, como viene de sun, que son los de solaris, que es unix, por defecto pone retornos de carro como \n. Eso en windows se ve como un cuadrito y todas las lineas seguidas (les falta en \r delante).

Una System.getProperty("line.separator") para obtener un String con \r\n o solo \n según en el sistema operativo que estes y usa eso para escribir los fines de linea en el fichero de texto.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 21/02/2007, 13:30
 
Fecha de Ingreso: julio-2006
Mensajes: 206
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: "text/plain" y escribir en fichero texto

Muchas gracias!!

Pero mi problema es q m salen los saltos de linea antes de mi texto sin haberlos yo metido, me gustaria saber como eliminarlos. Un saludo!
  #4 (permalink)  
Antiguo 21/02/2007, 14:10
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Re: "text/plain" y escribir en fichero texto

Hola de nuevo:

¿Cómo escribes el StringBuffer en el fichero?. Si usas algo como writeObject() o abres un fichero a traves de un ObjectOutputStream o similar, java mete guarrería propia antes de escribir el objeto, que podrían ser los cuadraditos. Usa mejor FileWriter y un write(String).

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 21/02/2007, 23:31
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: "text/plain" y escribir en fichero texto

Cita:
Java, como viene de sun, que son los de solaris, que es unix, por defecto pone retornos de carro como \n. Eso en windows se ve como un cuadrito y todas las lineas seguidas (les falta en \r delante).
Por lo que yo se, Java por defecto utiliza la codificación del S.O. en el que se esté ejecutando. Yo al menos no he tenido que poner nunca manualmente ningún \r en Windows.

En cuanto al problema en si, puede que el "buffer" donde escribes tenga algo, a mi me ha pasado con los ByteArrayOutputStream, por ejemplo, asi que si puedes hazle un reset antes de usarlo.

S!
  #6 (permalink)  
Antiguo 22/02/2007, 03:21
 
Fecha de Ingreso: julio-2006
Mensajes: 206
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: "text/plain" y escribir en fichero texto

buenas!! Gracias por las respuestas, pero sigo sin conseguir eliminar los saltos de linea...

Yo mi buffer lo tengo declarado asi:
StringBuffer fout = new StringBuffer();

y luego escribo en el de la siguiente formas:

fout.append("texto bla bla bla...");

he intentado resetearlo de la siguiente forma pero m da fallo

fout.reset();

y los saltos de linea al comienzo m los sigue haciendo. Un saludo!
  #7 (permalink)  
Antiguo 22/02/2007, 13:27
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Re: "text/plain" y escribir en fichero texto

Hola:

¿Cómo escribes el StringBuffer en el fichero? ¿Qué clase usas?

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #8 (permalink)  
Antiguo 23/02/2007, 02:46
 
Fecha de Ingreso: julio-2006
Mensajes: 206
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: "text/plain" y escribir en fichero texto

Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

¿Cómo escribes el StringBuffer en el fichero? ¿Qué clase usas?

Se bueno.
pues el StringBuffer lo declaro asi:
StringBuffer fout = new StringBuffer();

luego añado cosas al buffer:
fout.append("bla bla bla");

por ultimo hago esto:
out.print(fout);

y arriba del todo tengo declarado el response asi:
response.reset();
response.setHeader("Content-type","text/plain");
response.setHeader("Content-Disposition","attachment; filename=prueba.txt");
response.setContentType("text/plain;charset=ISO-8859-1");

el contenido del stringbuffer m lo escribe bien, el problema esta en q m saca varios saltos de linea al principio, pero m los saca siempre incluso sin meter nada en el stringbuffer,creo q el problema puede ser algun parametro en donde declaro el response...Muchas Gracias por todo!
  #9 (permalink)  
Antiguo 06/03/2007, 09:29
 
Fecha de Ingreso: julio-2006
Mensajes: 206
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: "text/plain" y escribir en fichero texto

Buenas!

Encontre el problema, por si alguien mas le pasa y pueda ser lo q a mi, justo encima de la cabecera de los "response" tenia todos mis import, y m hacia un salto de linea por cada import.

Un saludo!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:14.