Visualizzazione dei risultati da 1 a 6 su 6

Discussione: invalid type code: AC

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    15

    invalid type code: AC

    sto cercando di fare un'applicazione in java...io devo scrivere su un file binario in append degli oggetti tramite la classe ObjectOutputStream soltanto ke alla lettura mi legge il primo e poi mi lancia questa eccezione "invalid type code: AC"...sapete aiutarmi...qualcuno sa dirmi come posso risolvere questo piccolo problema?help me!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    ObjectOutputStream non permette la scrittura in append. Questo perchè la serializzazione degli oggetti prevede che prima di ogni altra cosa venga scritto un blocco di informazioni chiamato "header", in cui vengono memorizzate le informazioni che servono per la lettura successiva degli oggetti (la deserializzazione).

    Se vuoi effettuare un "append" devi prima leggere tutto il file, quindi riscriverlo da zero, aggiungendo i nuovi dati.


    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
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    15
    ok grazie mille...mi hai risolto il problema principale del mio programma...grazie ancora...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    15
    ascolta adesso però ke cosa posso usare come stream per l'output?perchè mi serve l'append...help me!

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da profitx
    ascolta adesso però ke cosa posso usare come stream per l'output?perchè mi serve l'append...help me!
    Se devi scrivere degli oggetti tramite serializzazione in output non puoi utilizzare l'append.
    L'unica cosa che puoi fare è ricreare il file ogni volta che lo devi modificare.

    Questo significa che hai due possibilità, in base, ovviamente, al tipo di utiilzzo che vuoi farne:

    1) Lasci sempre aperto il file, fino alla fine. Non lo chiudi mai se non quando hai finito di lavorarci su. Quando lo chiudi, quel file non potrà subire altre modifiche (a meno di riscriverlo)

    2) "Simuli" l'append, andando a rileggerlo ogni volta che lo apri.


    La prima soluzione è applicabile in tutti quei casi in cui in una sola esecuzione del programma, l'elaborazione è completa (ovvero, una volta chiuso il programma il file non avrà bisogno di ulteriori modifiche).

    La seconda è d'obbligo se la prima non fa per te.


    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

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    15
    ok grazie mille...eseguirò le tue istruzioni ...grazie...

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.