[Ayuda] Cargar todo un fichero a una variable.

Iniciado por ignorantev1.1, 2 Mayo 2013, 06:56 AM

0 Miembros y 1 Visitante están viendo este tema.

ignorantev1.1

Qué tal.

Este es mi primer proyecto en Java, así que pido disculpas por mi "falta de ignorancia". xD

Bueno, el asunto es que estoy tratando de copiar determinado fichero (binario) a una variable de tipo cadena, para esto utilizo "acceso aleatorio", extraigo el contenido a una arreglo de bytes, y luego lo paso a una cadena (no sé que tan práctico sea, pero es lo único que pude hacer) de la siguiente manera:

Código (java) [Seleccionar]

//(...)
lof=(int) (tFile.length());
dataFile=new byte[lof];
tFile.readFully(dataFile);
allFile=new String(dataFile);

System.out.println(dataFile.length + " = " + tFile.length() + " = " + allFile.length()); /*<--- No arroja los mismos
resultados... ¡Y debería!, el arreglo y el objeto File sí coinciden, la cadena es la que me falla.
*/
//(...)


El problema está en que al copiar el arreglo de bytes a la cadena, no copia todo el contenido del arreglo, la cadena se queda a medias, y no es que llegue a su límite, ya que, por ejemplo, con un archivo de 70 mil bytes me copia, digamos, 50 mil, y con uno de 50 mil me copia 40 mil. ¿Ven algún error?, ¿Qué podría estar pasando?

¡Saludos!

nicolas_cof

Puede ser un problema de encoding, proba de setear el archivo con ISO-8859-1

Salu2