Muchas veces es necesario convertir un archivo File a bytes, ya sea para transformarlo en otro tipo de archivo o para enviarlo a otra aplicación, etc.
File archivo = f;
byte[] archivoBytes = null;
long tamanoArch = archivo.length(); //Nos quedamos con el tamaño del archivo.
//Con esta condicional controlamos si el archivo es demasiado grande
if (tamanoArch > Integer.MAX_VALUE)
{
log.debug("El archivo es demasiado largo.");
}
else
{
archivoBytes = new byte[(int) tamanoArch]; //Le damos al array el tamaño del archivo.
try
{
//Nos creamos esta variable para poder leer el archivo.
FileInputStream docu = new FileInputStream(archivo);
//Leemos los bytes del archivo y a la vez se van insertando en el array de bytes creado.
int numBytes = docu.read(archivoBytes);
System.out.printl("El archivo tiene " + numBytes + " de bytes.");
docu.close(); //Muy importante cerrar tras la lectura.
}
catch (FileNotFoundException e)
{
System.out.println("No se ha encontrado el archivo.");
}
catch (IOException e)
{
System.out.println("No se ha podido leer el archivo.");
}
No hay comentarios:
Publicar un comentario