martes, 21 de abril de 2015

Java. Guardar una cadena en un fichero

En un proyecto Java, componía un xml a traves de una serie de consultas las cuales necesitaban un tiempo de proceso muy largo.

Para mejorar el rendimiento y devolver el xml si no había habido cambios en las tablas relacionadas, puede servir una caché primitiva como esta. Un método guarda el string del xml en un fichero y otro método lo lee y lo devuelve.


private void GuardarXmlCache ( String nombreFichero, String xml) {
try(FileOutputStream fos=new FileOutputStream(nombreFichero)){
fos.write(xml.getBytes());
fos.close();
}catch(IOException e){

}

}


private String LeerXmlCache ( String nombreFichero) {
FileInputStream fos = null;
String message  = new String();
try {
fos=new FileInputStream(nombreFichero);
BufferedReader rd = new BufferedReader (new InputStreamReader(fos,"UTF-8"));
String line=null;
//final StringBuffer buffer = new StringBuffer(2048);
while ((line = rd.readLine()) != null) {

message += line;
}        
rd.close();
 
}catch(IOException e){
e.printStackTrace();
}
return message;
}