DataOutputStream se utiliza para guardar en ficheros objetos de java, InputStreamReader para leer caracteres.
Si guardas los datos como data, tienes que leerlos como data, si los guardas como caracteres tendrás que leerlos como tal.
http://docs.oracle.com/javase/6/docs...eamReader.html Cita: It reads bytes and decodes them into characters using a specified charset.