Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 35
  1. #1
    Utente bannato
    Registrato dal
    Jun 2009
    Messaggi
    91

    salvare in un file con Properties

    Buongiorno....
    Devo memorizzare una coppia chiave,valore in un file txt,dove mi è stato chiesto di usare i metodi della classe Properties,qualcuno puo' darmi una mano?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: salvare in un file con Properties

    Originariamente inviato da mery messina
    Devo memorizzare una coppia chiave,valore in un file txt,dove mi è stato chiesto di usare i metodi della classe Properties,qualcuno puo' darmi una mano?
    Beh ma quale è il dubbio, precisamente??? Properties ha i metodi setProperty() e getProperty() più altri di Hashtable da cui deriva. Puoi caricare i dati (metodi load() ) e puoi salvare i dati (metodi store() ). E da Java 5 ci sono i metodi per caricare/salvare in un formato XML specifico.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente bannato
    Registrato dal
    Jun 2009
    Messaggi
    91
    Quindi un metodo del genere andrebbe bene...


    ***********************************
    public String mappa(int node, String dizionario){
    String nome="";
    Properties prop=null;
    try {
    FileInputStream in = new FileInputStream (dizionario);
    prop = new Properties();
    prop.load(in);
    in.close();
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    System.exit(-1);
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    System.exit(-1);
    }

    String valore = prop.getProperty( ""+node );

    return ( valore!=null )? valore: ""+node ;
    }

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da mery messina
    Quindi un metodo del genere andrebbe bene...
    Non è una buona gestione delle eccezioni (catturare le eccezioni e oltretutto fare un System.exit(-1) a quel livello non mi sembra la cosa più furba .... e tra l'altro se catturi IOException l'altro catch di FileNotFoundException è superfluo se fai la stessa cosa, perché FileNotFoundException estende IOException, quindi basterebbe quest'ultimo!).

    Comunque concettualmente sì, è quello da fare, intendo l'uso di Properties e il caricamento.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente bannato
    Registrato dal
    Jun 2009
    Messaggi
    91
    Mi potresti fare un esempio con metodi della classe Properties salvando una coppia chiave valore e poter poi leggere questa coppia chiave valore se è presente,ovviamente in un secondo momento!!
    Mi basta un esempio per farmi capire,anche senza far riferimento al problema specifico che ho fatto prima!
    grazie

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

    Moderazione

    Non so quante volte dovrò ripetertelo ancora: quando si posta del codice si devono usare gli appositi tag CODE, come previsto dal regolamento (punto 6), che ti riporto qui testualmente.

    Formattazione del codice sorgente.
    Quando incollate una porzione di codice all'interno di un messaggio, utilizzate l'apposito tag
    [CODE]
    codice
    [/CODE]
    che può essere inserito automaticamente premendo il pulsante CODE: questo renderà il codice leggibile e facilmente comprensibile a tutti, agevolando gli utenti che desiderano aiutarvi.
    Ad ogni modo, il recupero di una property precedentemente salvata l'hai già fatto tu.

    Per il salvataggio, è sufficiente aggiungere qualche chiamata:

    codice:
    Property prop = new Property();
    ...
    // Aggiungo una property
    // <valore> è in corsivo proprio perchè può essere una qualunque stringa di testo
    prop.setProperty("tuaProperty", "<valore>");
    ...
    
    // Salvo tutto su file
    prop.store(new FileOutputStream("nome_del_file"), "");
    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

  7. #7
    Utente bannato
    Registrato dal
    Jun 2009
    Messaggi
    91
    Guarda mi so scritta in una classe a parte su eclipse questo metodo...


    Properties prop=new Properties();
    prop.setProperty(nomefile, valore);


    // Salvo tutto su file
    prop.store(new FileWriter("C:/Users/mariangela/Desktop/universita/eclipse7info_hash/pluto.txt",true);



    perche' mi da errore il pezzo inerente a salva tutto su file!!!Cioe io tengo
    nomefile=paperino e chiave=gdebcjmdksbvck9522df
    con setProperty io lo carico in prop?
    Poi se tutto questo lo salvo su un file mi dovrebbe stampare la coppia chiave valore?
    O ho capito male?

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da mery messina
    prop.store(new FileWriter("C:/Users/mariangela/Desktop/universita/eclipse7info_hash/pluto.txt",true);
    Se fai l'append .... aggiunge. Ma così rischi di avere cose duplicate!!! Mica è molto logico.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente bannato
    Registrato dal
    Jun 2009
    Messaggi
    91
    non e' il problema di sovrascriver è ch eil file non lo crea proprio

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da mery messina
    non e' il problema di sovrascriver è ch eil file non lo crea proprio
    3 questioni:

    - Lo store() che riceve un Writer c'è solo da Java 6. Meglio se usi l'altro che riceve un OutputStream.

    - la sintassi che hai scritto non mi quadra:
    prop.store(new FileWriter("C:/Users/mariangela/Desktop/universita/eclipse7info_hash/pluto.txt",true);

    store() ha un secondo parametro, un String comment ... dov'è??

    - Se leggevi il javadoc per load() e store(), rispettivamente:

    The specified stream remains open after this method returns.

    per store() in effetti dice che dello stream viene fatto il flush() ma è meglio se lo chiudi tu e questo vuol dire che non puoi istanziare e passare lo stream direttamente a store()!!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.