Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: [java] liste

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    111

    [java] liste

    ciao!
    Sto facendo un progetto in java e devo per forza utilizzare le liste.
    Visto che sto creando una specie di segreteria ho pensato di utilizzare una lista che mi dica quale matricola corrisponde a ogni cognome che io gli metta.La mia domanda e': primo come si fa.....
    e se questo e' troppo almeno che mi spieghiate se la lista si ricorda comunque i dati, o la devo salvare dentro qualche file pur di non perderli.

    grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    Le liste come tutte le altre strutture dati si dimenticano tutti i dati al termine del programma. Se vuoi che i dati rimangano devi salvarli in un file o in un database.

    Per quanto riguarda l'uso dell liste puoi consultare le api per la classe LinkedList all'indirizzo http://java.sun.com/j2se/1.4.1/docs/api/

    ciao ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    111
    Grazie!Mi sapresti per caso dire anche come posso fare per salvare una lista con chiave in un file?La mia lista contiene un intero come chiave e una stringa.

    Ciao ciao!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    111
    Piu' precisamente, so come salvarla ma non saprei come poi recuperare tutti i dati per visualizzare tutta la lista intera...

  5. #5
    Utente di HTML.it L'avatar di Fox82
    Registrato dal
    Feb 2002
    Messaggi
    459
    Tramite le classi ObjectOutputStream e ObjectInputStream puoi direttamente leggere e scrivere oggetti (il processo si chiama serializzazione);

    l'unico requisito è che gli oggetti che intendi leggere/scrivere implementino l'interfaccia Serializable (e la classe LinkedList lo fa)

    Guardati la documentazione per maggiori informazioni
    Linux user number 403381

    Stop TCPA!

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    111
    ho provato a farlo ma non mi funziona.Io utilizzo cmunque la listnode...

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    111
    ho scritto questo codice:
    FileOutputStream f = null;
    try
    {
    f = new FileOutputStream("lista.dat");
    }
    catch (IOException e3)
    {
    System.exit(1);
    }
    ObjectOutputStream os = null;
    Couple c = new Couple();
    c.setFirst(new String (fcognome));
    c.setSecond(new Integer(matric));
    try
    {
    os = new ObjectOutputStream(f);
    os.writeObject(c);
    os.flush();
    os.close();
    }
    catch(IOException e3)
    {
    System.exit(2);
    }

    FileInputStream fin = null;
    ObjectInputStream is = null;
    try
    {
    fin = new FileInputStream("lista.dat");
    is = new ObjectInputStream(fin);
    }
    catch(IOException e3)
    {
    System.exit(3);
    }

    Couple c2 = null;
    try
    {
    c2 = (Couple)(is.readObject());
    is.close();
    }
    catch(IOException e3)
    {
    System.exit(4);
    }
    catch(ClassNotFoundException e3)
    {
    System.exit(5);
    }

    System.out.println(c2.getFirst());
    System.out.println(c2.getSecond());
    }

    ma cosi' mi fa vedere solo i dati immessi l'ultima volta, mentre io vorrei che me li faccesse vedere sempre tutti.
    Mi sapreste dire come fare?

    grazie!

  8. #8
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Prova con dichiarare:

    f = new FileOutputStream("lista.dat", true);
    Mi sembra dovrebbe fare in modo che quanto scritto prima non sia sovrascritto.

    Non l'ho provato.... e tieni presente che sono le 18.30 del 22/12; però ad occhio dovrebbe andare.
    Ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    111
    l'ho provato (ho messo quindi il true dentro la dichiarazzione di f che gia' avevo), ma adesso non mi memmorizza piu niente e continua a farmi vedere l'ultimo dato che aveva memmorizzato prima di questo cambiamento.
    Lo so che questi giorni dovrei parlare di tutt'altro ma ho verramente bisogno di finire questo progetto prima delle feste!!!
    AIUTOOOOOOOOO!!!

  10. #10
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Strano, infatti leggendo il JavaDoc di FileOutputStream con il booleano settato a true dovrebbe "appendere" il contenuto alla fine del file e non dell'inizio.
    Strano davvero; prova a fare + inserimenti in maniera da renderti coto... può essere che all'inizio te l'abbia cancellato ma poi inizierà ad "appendere"; altrimenti non so...prova a postare il codice e vediamo.
    Ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

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.