Salvare variabili booleane

di il
3 risposte

Salvare variabili booleane

Buonasera forum... vorrei porvi questa domanda . E possibile salvare variabili booleane in file?? Se si come?? Grazie

3 Risposte

  • Re: Salvare variabili booleane

    Ciao, basta salvarle sotto forma di stringa (true o false). Poi quando vai a leggerle vedi che cosa stai leggendo (confronto tra stringhe).

    PS. In realtà basta anche un char ('t' o 'f') o addirittura un intero (0 o 1), oppure... a questo punto si tratta di un problema di come vuoi codificare le informazioni.
  • Re: Salvare variabili booleane

    Puoi usare anche un DataOutputStream, che ti permette di scrivere su un file dei booleani occupando 1 byte per ogni valore:
    
    File file = new File("prova.dat");
    DataOutputStream dos = new DataOutputStream(new FileOutputStream(file));
    dos.writeBoolean(b);
    dos.writeBoolean(b2);
    dos.close();
    
  • Re: Salvare variabili booleane

    Se devi caricarle all'avvio ti consiglio di usare le properties, vengono salvate su file in stile variabile=valore e in memoria sono gestite come hashmap. Il file testuale è molto più leggibile che un file scritto brutalmente (almeno per tante variabili di tipo diverso). il salvataggio delle properties si fa comunque con un outputstream. col metodo store(outputstream, "eventuale prima riga di commento del file"); e le gestisci col metodo setProperty(chiave,valore)
    
    private  boolean storeParameter(){
    	Parameters p = this;
    	String NomeFile = System.getProperty("user.home")+ "\\" +"NomeFile.dat";
    	Properties q = new Properties();
    	File f = new File(NomeFile);
    		try{
    		if(!f.exists()){f.createNewFile();}
    		FileOutputStream fo = new FileOutputStream (f);
    		q.setProperty("indirizzo", "sito.it");
    		q.setProperty("nome", "livio");
    		q.setProperty("username", "andronicus112");
    		q.setProperty("password", "miapassword");
    		q.setProperty("nomefile",NomeFile);
    		q.store(fo, "Parametri Aggiunti automaticamente");
    		fo.close();
    	
    		}catch(Exception e){e.printStackTrace();}
    		
    	return true;
    }
    
    le carichi in modo più semplice:
    
    File f = new File(NomeFile);
    	pro = new Properties();
    	if(f.exists()&&f.length()>0){		
    		FileInputStream	fp = new FileInputStream(f);
    		pro.load(fp);
    		fp.close();
    f.close();
    
    EDIT:
    scusate la risposta, non avevo fatto caso all'età della discussione... se solo si usasse il tag [RISOLTO]
Devi accedere o registrarti per scrivere nel forum
3 risposte