Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Salvataggio su file

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    22

    Salvataggio su file

    Salve a tutti,
    sono alle prime armi con un programma che mi deve gestire documenti di una lista di comuni, nel quale devo salvare su file l'insieme di comuni che ho creato.
    Il compilatore mi compila ed esegue correttamente il programma, ma quando arriva al punto finale del salvataggio mi dice che c'è stato un errore. In realtà il file.dat me lo crea nella cartella, ma è visualizzato come file di un'altra applicazione che ho installata sul pc.
    Qualcuno avrebbe un consiglio da darmi?
    Grazie mille!

  2. #2

    Re: Salvataggio su file

    Originariamente inviato da kiaBs
    Salve a tutti,
    sono alle prime armi con un programma che mi deve gestire documenti di una lista di comuni, nel quale devo salvare su file l'insieme di comuni che ho creato.
    Il compilatore mi compila ed esegue correttamente il programma, ma quando arriva al punto finale del salvataggio mi dice che c'è stato un errore. In realtà il file.dat me lo crea nella cartella, ma è visualizzato come file di un'altra applicazione che ho installata sul pc.
    Qualcuno avrebbe un consiglio da darmi?
    Grazie mille!
    Non hai postato codice, non hai postato lo stacktrace...qui maghi non ce ne sono
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    22
    Scusa, sono nuova pure del forum.

    elencoComuni è una variabile di tipo public static che ho dichiarato prima del main di tipo listaComuni; invece ServizioFile e Menu sono due classi che sto usando di appoggio per snellirmi il programma.
    In fondo aggiungo anche i due metodi della classe ServizioFile perchè penso siano quelli che creano problem.

    Ecco il codice del main

    codice:
    public static void main(String[] args) {	
    				 
        File f = new File(NOMEFILETITOLI);
        boolean caricamentoRiuscito = false;
    		
        if (f.exists()){
     	 try{
    	     elencoComuni = (listaComuni) ServizioFile.caricaSingoloOggetto(f);			 }
    	catch (ClassCastException e){
    		 System.out.println(MSG_NO_CAST);
    	      }
    	 finally{ 
    	      if ( (elencoComuni != null) ) {
    		  System.out.println(MSG_OK_FILE); 	
                                 caricamentoRiuscito = true;
    	       }  
    	 }
       }
    			
        if (!caricamentoRiuscito){
    	System.out.println(MSG_NO_FILE);
    	elencoComuni = new listaComuni();			
        }
    
        boolean fineProg = false;
        Menu menuAvvio = new Menu(TITOLOMENUAVVIO,VOCIMENUAVVIO);
        do{
             int scelta = menuAvvio.scelta();
             fineProg = utilityGestione.eseguiScelta(scelta);
         }while(!fineProg);		
         
         System.out.println(USCITA);		
         System.out.println(MSG_SALVA);
         ServizioFile.salvaSingoloOggetto(f, elencoComuni)
      }
    	 
    }
    
    
    public static Object caricaSingoloOggetto (File f){
    	Object letto = null;
    	ObjectInputStream ingresso = null;
    			
    	try{
    	     ingresso = new ObjectInputStream(new BufferedInputStream(newFileInputStream(f)));
    				
                      letto = ingresso.readObject();
                  }
    	catch (FileNotFoundException excNotFound){
    	     System.out.println(MSG_NO_FILE + f.getName() );
    	}
    	catch (IOException excLettura){
    	     System.out.println(MSG_NO_LETTURA + f.getName() );
    	}
    	catch (ClassNotFoundException excLettura){
    	      System.out.println(MSG_NO_LETTURA + f.getName() );
    	}
      	 finally{
    	         if (ingresso != null){
    		 try {
    		        ingresso.close();
    		}
    	         catch (IOException excChiusura){
    		    System.out.println(MSG_NO_CHIUSURA + f.getName() );
    	         }
    	         }
    	}
                 return letto;
    		  
    	 } // metodo caricaSingoloOggetto
    	
    	
    	public static void salvaSingoloOggetto (File f, Object daSalvare) {
    		 ObjectOutputStream uscita = null;
    		 try{
    		      uscita = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(f)));
    		      uscita.writeObject(daSalvare);
                                }
    		 catch (IOException excScrittura){
    	                     System.out.println(MSG_NO_SCRITTURA + f.getName() );
    		}
    	              finally{
    		          if (uscita != null){
    			try{
    			     uscita.close();
    			 }
    		           catch (IOException excChiusura){
    			   System.out.println(MSG_NO_CHIUSURA + f.getName() );
    			}
    		             }
    		} 
    
    		 } // metodo salvaSingoloOggetto
    Penso che ora ci sia tutto..
    grazie ancora!!

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

    Moderazione

    Quando posti del codice, usa i tag CODE, come indicato nel Regolamento interno.


    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    scusa e l'eccezione/il problema quale è?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    22
    eclipse mi compila ed esegue il programma, solo che quando io voglio uscire al posto che darmi il messaggio di salvataggio effettuato mi scrive nella console:

    ATTENZIONE: PROBLEMI CON LA SCRITTURA DEL FILE gestione.dat

    nella cartella però il file gestione.dat è creato ma l'icona è quella di un file video..

    non so proprio nè cosa guardare nè cosa modificare!
    grazie mille per l'aiuto!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    così però non sappiamo aiutarti visto che ci è impossibile sapere che succede nel tuo pc, mi viene da pensare ad un errore di IO (mancanza permessi etc)

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    22
    mancanza di permessi?
    hai per caso un qualche suggerimento?
    poi, una domanda molto stupida, se il file ha estensione .dat sarebbe teoricamente possibile consultarlo? mi sembra di ricordare che in c++ si potesse scrivere .txt ma in Java è la prima volta che lo faccio!
    grazie ancora

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.