ecco qua ti conviene usare la serializzazione risparmi tempo e fatica,secondo mecodice:import java.io.*; public class Book implements Serializable{ //implementando serializable, possiamo scrivere l'intero oggetto su un file public String Titolo; public String Autore; public String Anno; //public String Percorso; non ho ben capito cosa serva percorso e formato per cui l'ho eliminato public String numpag; //public String formato; public Book(String Titolo, String Autore, String Anno, String numpag){ this.Titolo = Titolo; this.Autore = Autore; this.Anno = Anno; // this.Percorso = Percorso; this.numpag = numpag; // this.formato=formato; } public static void main(String[] args){ Book books[] = new Book[2]; //Creiamo un array di 2 libri ad esempio Book book1 = new Book("Biancaneve","Non lo so", "1990","200"); Book book2 = new Book("La principessa sul pisello","Non lo so", "1992","230"); //inserisco i libri nel array books[0] = book1; books[1] = book2; try{ //STREAM PER SCRIVERE OGGETTO SU FILE ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("path_file.bin")); //STREAM PER LEGGERE OGGETTO DA FILE ObjectInputStream in = new ObjectInputStream(new FileInputStream("path_file.bin")); //STAMPO I LIBRI PRIMA DI SCRIVERE E RILEGGERE (SOLO PER DIMOSTRARE CHE I LIBRI CHE RILEGGERO SONO UGUALI) System.out.println("Libri inziali"); for(int i=0; i<books.length; i++){ Book b = books[i]; System.out.println(b.Titolo+ " "+b.Autore+" "+b.Anno+" "+b.numpag); } //Scrivo i libri SU FILE out.writeObject(books); //Leggo i libri DA FILE books = (Book[])in.readObject(); //RISTAMPO I LIBRI CHE ERANO STATI SCRITTI SUL FILE System.out.println("Letti da file"); for(int i=0; i<books.length; i++){ Book b = books[i]; System.out.println(b.Titolo+ " "+b.Autore+" "+b.Anno+" "+b.numpag); } }catch(FileNotFoundException ex){ ex.printStackTrace(); }catch(IOException ex){ ex.printStackTrace(); }catch(ClassNotFoundException ex){ ex.printStackTrace(); } } }![]()

Rispondi quotando