Foro de elhacker.net

Programación => Java => Mensaje iniciado por: ignorantev1.1 en 2 Mayo 2013, 06:56 am



Título: [Ayuda] Cargar todo un fichero a una variable.
Publicado por: ignorantev1.1 en 2 Mayo 2013, 06:56 am
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
  1. //(...)
  2. lof=(int) (tFile.length());
  3. dataFile=new byte[lof];
  4. tFile.readFully(dataFile);
  5. allFile=new String(dataFile);
  6.  
  7. System.out.println(dataFile.length + " = " + tFile.length() + " = " + allFile.length()); /*<--- No arroja los mismos
  8. resultados... ¡Y debería!, el arreglo y el objeto File sí coinciden, la cadena es la que me falla.
  9. */
  10. //(...)
  11.  

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!


Título: Re: [Ayuda] Cargar todo un fichero a una variable.
Publicado por: nicolas_cof en 8 Mayo 2013, 06:27 am
Puede ser un problema de encoding, proba de setear el archivo con ISO-8859-1

Salu2