Java - error en DataOutputStream

 
Vista:

error en DataOutputStream

Publicado por alan (11 intervenciones) el 15/11/2006 18:26:19
Tengo una consulata sobre DataOutputStram cuando hago para escribir un archivo sale cuadritos y este es el codigo qeu hago:
......
File f=new File(cuenta.txt);
DataOutputStram d=new DataOutputStram(new FileInputStream(f));
//por ejemplo

d.WriteUTF("matematicas");
d.WriteInt(4);
d.close();
.....

cuando veo mi archivo creado me sal
♦ ♦ ♦ ♦ ♦..
bueno sale cuadritos
asi me sale pero cuando pongo por ejemplo con
d.WriteBytes("matematicas");
si sale en le archivo el nombre, esta correcto y esa es mi pregunta a que se debe eso si el metodo UTF es para cadenas ojala me puedan explicar mi ignorancia gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:error en DataOutputStream

Publicado por Pablo (1 intervención) el 15/11/2006 19:41:06
Intentá leerlos con DataInputStream, yo lo probé y lo lee bien. Lo que debe estar pasando es que lo intentás leer con el NotePad, que por defecto no identifica la codificación del archivo (UTF-8). Como si fuera poco, la codificación que utiliza el writeUTF de Java es modificada, así que me parece que no cualquier editor te lo va a mostrar tal cual.

Saludos
http://mundojava.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:error en DataOutputStream

Publicado por chuidiang (950 intervenciones) el 15/11/2006 23:26:22
Hola:

Efectivamente, writeUTF() es para cadenas, pero el resultado no es visible para los humanos. La mejor forma de comprobar si esta bien es que con java lo leas y utilices el método readUTF().

Si quieres escribir un fichero binario (no legible para los humanos o leible con notepad o similar), van bien las clases OutputStream e InputStream (cualquier clase que lleve eso). Lo que escribas en el fichero con java, sólo podrás leerlo con java.

Si quieres un fichero que se pueda leer desde notepad, usa clases Writer o Reader (clases hijas hereden de ellas, como PrintWriter o BufferedReader). Suelen tener métodos para leer y escribir String en formato claro para notepad.

Echa un ojo en http://www.chuidiang.com/chuwiki/index.php?title=Lectura_y_Escritura_de_Ficheros_en_Java para ver un ejemplo de cada.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias una gran explicacion

Publicado por alan (11 intervenciones) el 16/11/2006 04:35:28
Ahora si qeu lo entiendo y si tienes razon cuando lo leo por java si me lo muestra
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar