viernes, 14 de mayo de 2010

Convertir un file a array de bytes.

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.");
}

jueves, 13 de mayo de 2010

StringUtils

Api de StringUtils


Muy útil para trabajar con cadenas de caracteres de forma cómoda. Pertenece a la librería org.apache.commons.lang

Ejemplos:


StringUtils.leftPad("catedral", 12, 'A');

AAAAcatedral

StringUtils.rightPad("catedral", 12, 'A');

catedralAAAA

StringUtils.center("catedral", 12, 'A');

AAcatedralAA

StringUtils.deleteWhitespace("Había una vez");

Habíaunavez

StringUtils.lowerCase("CATEDRAL");

catedral

StringUtils.reverse("catedral");

lardetac

StringUtils.replaceChars("catedral", 't', 'h');

cahedral

...