Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883

    (java) Come ordinare un file di properties

    Ho un file java.util.Properties;
    dove vengono inserite una trentina di coppie chiave/valore
    Volevo sapere un modo per poterle ordinare

    Le leggo tutte, le inserisco in un vettore e chiamo il metodo order o c'è qualcosa di più rapido?

    Pensavo a una cosa del genere ma poi non so rimettere il contenuto dentro il file di properties

    codice:
    private static void order() {
    	    Enumeration e = propertiesFile.elements();
    	    List list = new Vector();
    	    while (e.hasMoreElements()) {
    	        e.nextElement();
    	        list.add(e);
    	    }
    	    java.util.Collections.sort(list);
    }

  2. #2
    codice:
     void 	store(OutputStream out, String header)
              Writes this property list (key and element pairs) 
    in this Properties table to the output stream in a format 
    suitable for loading into a Properties table using the 
    load method.
    SO: Debian Sarge kernel 2.6.11
    Lang: Java, C++, C

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    ho una lista ordinata non un OutputStream

  4. #4
    se hai un file di properties puoi creare un outputstrem verso quel file...

    SO: Debian Sarge kernel 2.6.11
    Lang: Java, C++, C

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    io un file di properties lo so leggere e scrivere su file

    Chiedevo come faccio a ordinare le coppie chiave/valore di un file di properties in ordine alfabetico per chiave

  6. #6
    innanzi tutto ma x cosa le devi ordinare?
    Cmq ordinando x esempio le chiavi:

    codice:
    Enumeration e = propertiesFile.propertyNames();
    List list = new Vector();
       while (e.hasMoreElements()) {
          e.nextElement();
          list.add(e);
       }
       java.util.Collections.sort(list);
    poi che ne so potresti fare creare un nuovo properties metterci le corrispondenze chiave valore nel nuovo ordinamento, cancellare il vecchi file di properties e riscrivere questo.

    codice:
    String arr[] = (String[])list.toArray() 
    Properties prop = new Properties();
    int len = arr.length;
    for(int i=0; i<len; i++)      prop.setProperty(arr[i],propertiesFile.getProperty(arr[i]));
    Quindi ora cancelli il vecchio properties e metti il nuovo prop al suo posto.

    NB ho scritto il codice di getto quindi sicuramente è sballato...

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    purtroppo il codice che ho postato per l'ordinamento non fa
    qualcuno me ne suggerisce uno funzionante?

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    codice:
    Ho provato questo codice, purtroppo quando vado ad eseguire l'istruzione tempProperties.put(key, val); gli elementi venogno messi in maniera non prdinata
    
    Come faccio a metterli in maniera ordinata? (ordine alfabetico per chiave)
    
    private static void sort() {	    
    	    // Sort hashtable.
    	    Vector v = new Vector(propertiesFile.keySet());
    	    Collections.sort(v);
    	    Properties tempProperties = new Properties();
    	   
    	    for (Enumeration e = v.elements(); e.hasMoreElements();) {
    	      String key = (String)e.nextElement();
    	      String val = (String)propertiesFile.get(key);
    	      tempProperties.put(key, val);
    	    }
    	    propertiesFile = tempProperties;
    	}

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    up

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    up

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.