Visualizzazione dei risultati da 1 a 10 su 14

Hybrid View

  1. #1
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Book[] libro = new Book[50];

    Questa istruzione crea un array in grado di contenere 50 oggetti Book. Nessuna delle posizioni contiene ancora alcunché.

    Da qui la NullPointerException.

    Se vuoi usare la posizione 0, allora dovrai prima assegnargli un oggetto Book:

    libro[0] = new Book( ... ); // al posto dei puntini vanno passati gli eventuali parametri (se necessario)


    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

  2. #2
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    Book[] libro = new Book[50];

    Questa istruzione crea un array in grado di contenere 50 oggetti Book. Nessuna delle posizioni contiene ancora alcunché.

    Da qui la NullPointerException.

    Se vuoi usare la posizione 0, allora dovrai prima assegnargli un oggetto Book:

    libro[0] = new Book( ... ); // al posto dei puntini vanno passati gli eventuali parametri (se necessario)


    Ciao.
    Ma questo solo se la carica funziona correttamente, giusto?

    codice:
    codice:
    FileInputStream f_in =null;
    try{
                                        f_in =newFileInputStream(txt_file.getText());
                                        for(int i=0;i<3;i++){
                                            f_in.read(libro[i].Titolo.getBytes());
                                            f_in.read(libro[i].Autore.getBytes());
                                            f_in.read(libro[i].Anno.getBytes());
                                            f_in.read(libro[i].Percorso.getBytes());
                                            f_in.read(libro[i].numpag.getBytes());
                                        }    
                                    
                                        f_in.close();
                                    }
                                    catch(IOException ex){
                                        JOptionPane.showMessageDialog(f_main,"Errore caricamento file.");
                                    }
    Non sò proprio dove battere la testa per la carica Quella li che ho provato a fare è imbarazzante...

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da marco1462 Visualizza il messaggio
    Non sò proprio dove battere la testa per la carica Quella li che ho provato a fare è imbarazzante...
    Sì ... un pochino "imbarazzante", perché come ti ho detto prima, f_in.read(libro[i].Titolo.getBytes()); NON ha assolutamente alcun senso e non fa minimamente quello che (forse) ti stavi aspettando.

    Stai gestendo file "di testo", domanda: devi per forza usare FileOutputStream/FileInputStream? Perché non sono effettivamente i più appropriati per file di testo ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Eh..ahimè è un progetto, e ha lezione abbiamo visto solo FileOutputStream e FileInputStream...
    Deve funzionare sia su file di testo che file di dati.

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da marco1462 Visualizza il messaggio
    Deve funzionare sia su file di testo che file di dati.
    Che vuol dire!? Un file o è "binario" o è "di testo". E quale dei due lo devi/puoi scegliere tu in base alle esigenze. E in entrambi i casi c'è da valutare il formato delle informazioni memorizzate.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Esatto, con f_in =newFileInputStream(txt_file.getText()) scelgo se creare un file.dat o file.txt
    Ma il problema non cambia, devo sempre gestire correttamente il carica, chiedevo un aiuto su questo

  7. #7
    Quote Originariamente inviata da marco1462 Visualizza il messaggio
    Esatto, con f_in =newFileInputStream(txt_file.getText()) scelgo se creare un file.dat o file.txt
    Ma il problema non cambia, devo sempre gestire correttamente il carica, chiedevo un aiuto su questo
    Attenzione non è che se salvi su un file .txt vuol dire che per forza devi scrivere sotto forma di testo, nessuno ti vieta di scrivere dati binari.
    Cioè il concetto non è l'estensione del file che ti obbliga a scrivere in un modo o in un altro.

    P.S
    gli underscore in java non si possono assolutamente vedere. In java si usa, da convezione, la nomenclatura camelCase.

  8. #8
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Sì ... un pochino "imbarazzante", perché come ti ho detto prima, f_in.read(libro[i].Titolo.getBytes()); NON ha assolutamente alcun senso e non fa minimamente quello che (forse) ti stavi aspettando.

    Stai gestendo file "di testo", domanda: devi per forza usare FileOutputStream/FileInputStream? Perché non sono effettivamente i più appropriati per file di testo ....
    Come ti è stato detto, per prima cosa decidi il formato in cui scrivere il file, per poi preoccuparti sul come caricarlo.

  9. #9
    Quote Originariamente inviata da francesco.muia Visualizza il messaggio
    Come ti è stato detto, per prima cosa decidi il formato in cui scrivere il file, per poi preoccuparti sul come caricarlo.
    File di testo

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.