Visualizzazione dei risultati da 1 a 10 su 22

Hybrid View

  1. #1
    Dunque allora senza usare il metodo, che magari può risultarti più noioso perchè devi modificare parecchio codice, fai cosi, il tuo ciclo di lettura:

    codice:
    for(int i=0;is.available() > 0;i++){
          libri[i]=is.readObject();
    }
    oppure:
    questo modo, ma con un array sarebbe tutto più semplice
    codice:
    int i = 0;
      try{	while(true){
    	 libri[i]= (Book)in.readObject();
             i++;
    	}
    }catch(EOFException ex){
    }
    prova cosi,spero funzioni
    Ultima modifica di andrea9671; 19-01-2015 a 22:33

  2. #2
    Quote Originariamente inviata da andrea9671 Visualizza il messaggio
    Dunque allora senza usare il metodo, che magari può risultarti più noioso perchè devi modificare parecchio codice, fai cosi, il tuo ciclo di lettura:

    codice:
    for(int i=0;is.available() > 0;i++){
          libri[i]=is.readObject();
    }
    oppure:
    questo modo, ma con un array sarebbe tutto più semplice
    codice:
    int i = 0;
      try{    while(true){
         libri[i]= (Book)in.readObject();
             i++;
        }
    }catch(EOFException ex){
    }
    prova cosi,spero funzioni

    Allora....in questo modo, funziona solo quando nella stampa (che ho aggiunto x vedere se inseriva i libri in modo corretto) invece che la variabile dim uso una costante numerica che corrisponde all' esatto numero dei libri...

    codice:
    int dim=0;
    								ObjectInputStream is = null;
    								try{
    									f_in = new FileInputStream(txt_file.getText());
    									is = new ObjectInputStream(f_in);
    									int i = 0;
    									  try{  while(true){
    									     libro[i]= (Book)is.readObject();
    									         dim++;
    									    }
    									  }catch(EOFException ex2){
    									}
    									is.close();
    								}
    								catch(IOException ex){
    									JOptionPane.showMessageDialog(f_main, "Errore caricamento file.");
    								} catch (ClassNotFoundException e1) {
    									// TODO Auto-generated catch block
    									e1.printStackTrace();
    								}
    								for(int i=0;i<dim;i++){
    									System.out.println(libro[i].Titolo);
    									System.out.println(libro[i].Autore);
    									System.out.println(libro[i].Percorso);
    									System.out.println(libro[i].Anno);
    									System.out.println(libro[i].numpag);
    									System.out.println(libro[i].formato);
    									System.out.println("-------------");
    								}
    Mi segnale all' esecuzione un java.lang.NullPointerException all' istruzione System.out.println(libro[i].Titolo);

  3. #3
    Dunque prova cosi, nel ciclo while(true) fai i++ e non dim++. Poi nel ciclo for di stampa la condizione è questa for(int i=0; i<libri.length;i++)

  4. #4
    E comunque mi stampa solamente il 4 libro:


    titolo4
    autore4
    percorso4
    anno4
    numpag4
    pdf
    -------------

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.