Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    1

    Serializzazione oggetti e salvataggio dati

    Buonasera a tutti,
    ho un problema urgente da risolvere, possibilmente entro le 9 di domattina, spero che siate così gentili da volermi dare una mano .

    Non riesco a salvare (o a caricare, non ho ancora capito bene perchè dopo che ho salvato è effettivamente presente un file, però il caricamento non funziona) una serie di dati necessari al corretto proseguimento di un programma di battaglia navale testuale.

    Quello che più precisamente sto cercando di fare è salvare tre array bidimensionali di caratteri e due oggetti Vector in un unico file tramite serializzazione degli oggetti.
    Questo è il codice dei due metodi:


    Caricamento:

    public static void loadGame (String token, char[][] playerMatrix, char[][] shootMatrix,
    char[][] cpuMatrix, Vector playerShips, Vector cpuShips) throws IOException, ClassNotFoundException
    {
    FileInputStream inFile = new FileInputStream(token);
    ObjectInputStream inStream = new ObjectInputStream(inFile);

    playerMatrix = (char[][])inStream.readObject();
    shootMatrix = (char[][])inStream.readObject();
    cpuMatrix = (char[][])inStream.readObject();
    playerShips = (Vector)inStream.readObject();
    cpuShips = (Vector)inStream.readObject();
    inStream.close();
    return;
    }


    Salvataggio:

    public static void saveGame (String token, char[][] playerMatrix, char[][] shootMatrix,
    char[][] cpuMatrix, Vector playerShips, Vector cpuShips) throws IOException
    {
    FileOutputStream outFile = new FileOutputStream(token);
    ObjectOutputStream outStream = new ObjectOutputStream(outFile);

    outStream.writeObject(playerMatrix);
    outStream.writeObject(shootMatrix);
    outStream.writeObject(cpuMatrix);
    outStream.writeObject(playerShips);
    outStream.writeObject(cpuShips);
    outStream.close();
    return;
    }


    Qualche anima pia mi saprebbe dire il prima possibile perchè questo aggeggio non mi carica la roba? :rollo:

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Non sono sicuro che gli array siano serializzabili di default... prova ad includere ciascun array in una classe che implementa Serializable o, per fare una cosa cumulativa, includili tutti in una classe che implementa Serializable. Quindi prova a salvare un oggetto di tale classe.


    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

  3. #3
    Originariamente inviato da LeleFT
    Non sono sicuro che gli array siano serializzabili di default... prova ad includere ciascun array in una classe che implementa Serializable o, per fare una cosa cumulativa, includili tutti in una classe che implementa Serializable. Quindi prova a salvare un oggetto di tale classe.


    Ciao.
    Gli array di char non sono serializzabili in quanto primitive del linguaggio e non oggetti...

    mi associo al consiglio di leleFT
    Blink@go

    "Non tutto quel che è oro brilla, Ne gli erranti sono perduti; Il vecchio ch'è forte non s'aggrinza, Le radici profonde non gelano.Dalle ceneri rinascerà un fuoco, L'ombra sprigionerà una scintilla, Nuova sarà la lama ormai rotta, E re quei ch'è senza corona."

    ------------
    Lang: java 1.4.1 Eclipse

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