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:
En la Clase Persona el método toString():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; }
Código:
Alguna orientación por favor.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(); }
Gracias.