Salvare parametri raggruppati in un file .ini

di il
8 risposte

Salvare parametri raggruppati in un file .ini

Ciao a tutti,
mi sto scontrando di nuovo con un busillibus.
Col vecchio e caro VB6 era semplicissimo salvare i parametri di una form o qualsiasi altro valore da ricordare per le esecuzioni successive, all'interno di un file .ini
Inoltre era semplice raggruppare i vari parametri all'interno di un tag, come riportato nell'esempio seguente:

[Parametri]
LastUser=1
Last Time=23-01-2019 23:25:33
Generic printer=HP LaserJet 1022
Last db List=9
Preview Zoom=3

[Form44]
Left=11085
Top=0
Height=17925
Width=7425

[Form73]
Left=17865
Top=1110

[Form134]
Left=17775
Top=4665
Height=2685
Width=6060

Ora, con java.util.Properties riesco a salvare i parametri in un .ini ma vengono messi tutti alla rinfusa e se devo cercare qualcosa con un editor è un casino.

Ho fatto molte ricerche sul web, ma ho trovato solo riferimenti ai file .properties

Qualcuno, per caso, sa come ottenere ciò che ho descritto?

8 Risposte

  • Re: Salvare parametri raggruppati in un file .ini

    Puoi appoggiarti ad una libreria di terze parti come questa:
    http://ini4j.sourceforge.net

    Da quel che vedo nella documentazione è in grado di gestire anche i contesti (le sezioni, quelli che hai chiamato "tag").

    C'è anche un breve tutorial di come usarla: http://ini4j.sourceforge.net/tutorial/IniTutorial.java.html

    A suo tempo ho creato un'applicazione che faceva uso di un file INI per la configurazione e me lo sono gestito tutto a mano... col tempo mi sono spostato verso le Properties: sono più immediate e non c'è bisogno di librerie esterne per gestirle decentemente.

    Ciao.
  • Re: Salvare parametri raggruppati in un file .ini

    Grazie per l'indicazione.

    Anch'io le sto gestendo con la java.util.Properties ma come ho detto non gestisce le sezioni.

    Tu sai come gestirle?
  • Re: Salvare parametri raggruppati in un file .ini

    Scusa eh,
    ma a me sembra che puoi farlo con la libreria che ti hanno indicato
  • Re: Salvare parametri raggruppati in un file .ini

    Certo,
    ma come diceva LeleFT, anch'io preferisco non usare librerie esterne, se non è assolutamente indispensabile.

    Chiedevo perché, mi sembrava di aver capito che fosse riuscito ad implementare le sezioni proprio usando le Properties.
  • Re: Salvare parametri raggruppati in un file .ini

    Quello che normalmente si fa con i. properties è utilizzare per le chiavi
    una naming convention del tipo
    SezioneJ.sottosezioneK...=valore.
    Se vuoi vederlo ordinato per chiave puoi utilizzare il comando sort del sistema operativo
    che usi ma ti perdi la posizione dei commenti.
    Se non ti soddisfa e non vuoi usare librerie non ti resta che scriverti il tuo codice
  • Re: Salvare parametri raggruppati in un file .ini

    Grazie,
    capisco.
    Allora per ora me lo tengo cosi.
  • Re: Salvare parametri raggruppati in un file .ini

    Allora, per quanto riguarda la gestione manuale che avevo fatto a suo tempo (stiamo parlando di una decina di anni fa) era una cosa molto terra terra che mi serviva solo per la lettura dei file (non per la scrittura... il file INI veniva compilato a mano da chi poi installava l'applicazione). Si trattava di una semplice lettura del file riga per riga e interpretazione brutale del contenuto (niente che valga la pena di essere riesumato).

    Dato che la cosa mi ha smosso i ricordi, ho deciso di scrivere una piccola libreria, piuttosto banale, per la gestione dei file INI con i contesti.
    Se hai voglia, puoi dare un'occhiata ai sorgenti qui: https://github.com/LeleFT/INIFile

    L'ho scritta al volo, è banale e può essere facilmente migliorata.
    C'è sia la JavaDoc, che una classe di test.

    La cosa "bella" è che l'ordine dei contesti viene mantenuto (quindi, se leggo un file INI che contiene dei contesti in un certo ordine, questo viene mantenuto dal metodo getContexts() e, viceversa, se sto creando un file INI da zero, l'ordine di inserimento dei contesti viene replicato nel file).

    Non viene mantenuto l'ordine di inserimento delle varie voci di configurazione per ciascun contesto... mi sembrava non necessario... ma si può pensarci su.

    Ciao.
  • Re: Salvare parametri raggruppati in un file .ini

    Amico caro (LeleFT) ... alla faccia del "piuttosto banale"
    gli ho dato un'occhiata ... ma hai usato cose che al momento, non ho ancora mai nemmeno visto, tipo: HashMap, Map e altre cosette di cui non conosco nulla.
    Tieni conto che in Java sono proprio un very very very ... e ancora very beginner.

    Appena ho risolto un'altra questione che mi preme maggiormente, inizierò a studiarmi la tua "piccola libreria", e sicuramente imparerò moltissimo.

    Per ora ti ringrazio sinceramente.

    Ti aggiorno sicuramente.
Devi accedere o registrarti per scrivere nel forum
8 risposte