Hola:
Estoy trabajando en un agenda, por el momento muy sencilla.
Pare ello tengo además del main otras tres Clases, que son Menu, Persona, y Contactos.
La Clase Contactos es la que contiene un Vector de Personas, y Persona contiene un Hashtable con los datos de los contactos añadidos( nombre, teléfono etc...), además de un toString() sobreescrito.
El problema que tengo es que a la hora de salvar los datos de Persona al disco, lo hace en un archivo de texto que en llugar de respestar el salto de línea "\n" o el salto de carro "\r" o los dos al mismo tiempo lo que hace es escribir [], con lo que no puedo leer ese fichero correctamente para la persistencia de datos.
Para la escritura utilicé:
Código:
public boolean salvarDatos(){
boolean b = false;
Object [] oa = new Object[this.getV().size()];
Persona [] pa = new Persona[oa.length];
this.getV().copyInto(oa);
try{
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("C:\\guardados.txt")));
for(int i=0;i<oa.length;i++){
pa[i] = (Persona) oa[i];
pw.print(pa[i].toString()+"\r\n");
}
pw.close();
b = true;
}catch(IOException ioe){};
return b;
}
En la Clase Persona el método toString():
Código:
public String toString(){
String a = "Nombre:\n"+this.getHs().get("nombre")+"\n"
+"Apellidos:\n"+this.getHs().get("apellido 1")+" "+this.getHs().get("apellido 2")+"\n"
+"Localidad:\n"+this.getHs().get("localidad")+"\n"
+"Provincia:\n"+this.getHs().get("provincia")+"\n"
+"Pais:\n"+this.getHs().get("pais")+"\n"
+"Dirección:\n"+this.getHs().get("tipo via")+" "+this.getHs().get("nombre via")+" "+this.getHs().get("numero via")+" "+this.getHs().get("piso via")+"\n"
+"Teléfono fijo:\n"+this.getHs().get("teléfono fijo")+"\n"
+"Teléfono móvli:\n"+this.getHs().get("teléfono móvil")+"\n"
+"Otro número de contacto:\n"+this.getHs().get("otro número de contacto");
return a.toUpperCase();
}
Alguna orientación por favor.
Gracias.