lunes, 17 de septiembre de 2007

Serializar un objeto

[Testeado]

En este caso el objeto es del tipo Config y este implementa la clase Serializable como se muestra a continuación:

public class Config implements Serializable{

...
..
.
}

Ahora bien, en otra clase o en la misma implementen los siguientes métodos para leer y escribir


/**
*guarda la configuración del programa
* @param config
*/
public void writeConfig(Configs config){
try{
FileOutputStream ff = new FileOutputStream("path/archivo.xxx");
BufferedOutputStream b = new BufferedOutputStream(ff);
ObjectOutputStream ss = new ObjectOutputStream(b);

ss.writeObject(config);
ss.flush();
ss.close();

}catch(Exception e){

}
}

/**
* recupera la configuración del programa
* @return
*/
public Configs readConfig(){
Configs config = null;
try{
FileInputStream fff = new FileInputStream("path/archivo.xxx");
BufferedInputStream bbb = new BufferedInputStream(fff);
ObjectInputStream sss =
new ObjectInputStream(bbb);
config =(Configs)(sss.readObject());

}catch(Exception e){

}
return config;
}

Leer y escribir archivos en Java

[Testeado]

/**
* Lee un archivo y devuelve su contenido en un String
* @return texto del archivo
*/
public String readText(){
String content = "";
String thisLine;
try {
FileInputStream is = new FileInputStream("path/archivo.in");
BufferedReader br = new BufferedReader(new InputStreamReader(is));
while ((thisLine = br.readLine()) != null) {
content += thisLine;
}
br.close();
}
catch (Exception e) {
System.out.println(e.getMessage());
}
return content;
}


/**
* escribe en un archivo
* @param text, texto a gurardar
*/
public void writeText(String text){
try {
BufferedWriter out = new BufferedWriter(new FileWriter("path/archivo.out"));
out.write(text);
out.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}

}