Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Problema lettura vector da file:

    Ciao a tutti..ho fatto questa funzione per leggere i dati da un file e metterli in un vector..ma mi ritorna un errore di tipo "missing return statment"..qualcuno mi saprebbe dire dove sbaglio?

    codice:
    public Vector<Lista> carica(String name_file) {
        
       try{
             
            FileInputStream fis = new FileInputStream(name_file);
            ObjectInputStream ois = new ObjectInputStream(fis);
            Vector<Lista>vec =(Vector) ois.readObject();
            ois.close();
            fis.close();
            return vec;
            }
            catch(IOException e){
                System.out.println("Errore: "+e);
            }
            catch(ClassNotFoundException c){
             System.out.println("Errore: "+c);
            }
    
        }

  2. #2

    Re: Problema lettura vector da file:

    Originariamente inviato da Uri_geller
    Ciao a tutti..ho fatto questa funzione per leggere i dati da un file e metterli in un vector..ma mi ritorna un errore di tipo "missing return statment"..qualcuno mi saprebbe dire dove sbaglio?

    public Vector<Lista> carica(String name_file) {

    try{

    FileInputStream fis = new FileInputStream(name_file);
    ObjectInputStream ois = new ObjectInputStream(fis);
    Vector<Lista>vec =(Vector) ois.readObject();
    ois.close();
    fis.close();
    return vec;
    }
    catch(IOException e){
    System.out.println("Errore: "+e);
    }
    catch(ClassNotFoundException c){
    System.out.println("Errore: "+c);
    }

    }
    Il return del valore va messo fuori dal costrutto try catch.

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326

    Moderazione

    In futuro, posta il codice indentato e all'interno degli appositi tag CODE, come previsto dal Regolamento interno.

    Questa discussione l'ho sistemata io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Problema lettura vector da file:

    Originariamente inviato da Uri_geller
    ma mi ritorna un errore di tipo "missing return statment"..
    Entrando nei catch il metodo sarebbe "sguarnito" del return!! Togli i catch, fai uscire di fuori le eccezioni (da gestire più "in alto") e gestendo sempre la chiusura sfruttando un try/finally in modo appropriato.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Grazie x le indicazioni su come postare il codice..non mi collego su questo forum da anni!
    Cmq anche se il return lo effettuo fuori dal try-catch mi da lo stesso errore:"cannot find simbol"


    Problema risolto: ho inserito un throw Exception....grassie Andbin x avermi aperto gli occhi...

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Uri_geller
    Cmq anche se il return lo effettuo fuori dal try-catch mi da lo stesso errore:"cannot find simbol"
    Perché la variabile l'avrai lasciata locale al blocco del try e ovviamente non è visibile altrove.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Originariamente inviato da Uri_geller
    Grazie x le indicazioni su come postare il codice..non mi collego su questo forum da anni!
    Cmq anche se il return lo effettuo fuori dal try-catch mi da lo stesso errore:"cannot find simbol"
    La variabile vec devi dichiararla fuori dal costrutto try-catch.

  8. #8
    uff...il problema della read sono riuscito a risolverlo:adesso ne ho un altro:

    premetto che la read mi ritorna il vector letto dal file, quando lo vado a copiare in un altro vector per utilizzarlo mi da un errore del tipo: "Unreported exception Java.lang.Exception:must be caught or declaredto be thrown."

    il codice è il seguente:

    Funzione lettura vector:

    codice:
    public Vector<Lista> carica(String name_file)throws Exception {
         
            FileInputStream fis = new FileInputStream(name_file);
            ObjectInputStream ois = new ObjectInputStream(fis);
            Vector<Lista> vec =(Vector) ois.readObject();
            ois.close();
            fis.close();
            return  vec;
        }
    Richiamo del vector caricato da file su un altro vector:

    codice:
    GestioneFile rubrica  = new GestioneFile() ;//è la classe dove cè "carica"
    
    Vector<Lista>  contatti = (Vector)rubrica.carica("archivio.txt").clone();

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Uri_geller
    Funzione lettura vector:

    codice:
    public Vector<Lista> carica(String name_file)throws Exception {
         
            FileInputStream fis = new FileInputStream(name_file);
            ObjectInputStream ois = new ObjectInputStream(fis);
            Vector<Lista> vec =(Vector) ois.readObject();
            ois.close();
            fis.close();
            return  vec;
        }
    Piccoli appunti:
    Il close andrebbe sempre fatto e per questo esiste la clausola finally per un try. Inoltre quando si hanno stream "wrappati" (incapsulati) dentro un altro stream, quello da chiudere è solo quello più "esterno".

    Per fare la gestione davvero appropriata riguardo close/eccezioni il metodo andrebbe rimaneggiato un po'.

    Originariamente inviato da Uri_geller
    codice:
    GestioneFile rubrica  = new GestioneFile() ;//è la classe dove cè "carica"
    
    Vector<Lista>  contatti = (Vector)rubrica.carica("archivio.txt").clone();
    Se carica ora fa "uscire" le eccezioni .... chiaramente devi gestirle. O qui o ... ancora più "in alto".

    Queste sono questioni (basilari) sulle eccezioni ..... non si può ignorarle bellamente ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2025 vBulletin Solutions, Inc. All rights reserved.