Java LanguageProprietà Classe


introduzione

L'oggetto properties contiene coppie di chiavi e valori sia come stringa. La classe java.util.Properties è la sottoclasse di Hashtable.

Può essere utilizzato per ottenere il valore della proprietà in base alla chiave della proprietà. La classe Proprietà fornisce metodi per ottenere dati dal file delle proprietà e memorizzare i dati nel file delle proprietà. Inoltre, può essere utilizzato per ottenere le proprietà del sistema.

Vantaggio del file delle proprietà

La ricompilazione non è richiesta, se le informazioni vengono modificate dal file delle proprietà: Se vengono modificate le informazioni da

Sintassi

  • In un file di proprietà:
  • chiave = valore
  • #commento

Osservazioni

Un oggetto Properties è una mappa le cui chiavi e valori sono stringhe per convenzione. Sebbene i metodi di Map possano essere utilizzati per accedere ai dati, i metodi type-safe getProperty , setProperty e stringPropertyNames vengono generalmente utilizzati.

Le proprietà sono spesso archiviate in file di proprietà Java, che sono semplici file di testo. Il loro formato è documentato accuratamente nel metodo Properties.load . In sintesi:

  • Ogni coppia chiave / valore è una riga di testo con uno spazio, uguale ( = ), o due punti ( : ) tra la chiave e il valore. Gli uguali o i due punti possono avere qualsiasi quantità di spazi bianchi prima e dopo di essa, che viene ignorata.
  • Lo spazio bianco principale viene sempre ignorato, lo spazio bianco finale è sempre incluso.
  • Una barra rovesciata può essere utilizzata per sfuggire a qualsiasi carattere (eccetto in minuscolo u ).
  • Una barra rovesciata alla fine della riga indica che la riga successiva è una continuazione della linea corrente. Tuttavia, come per tutte le linee, gli spazi bianchi iniziali nella linea di continuazione vengono ignorati.
  • Proprio come nel codice sorgente di Java, \u seguita da quattro cifre esadecimali rappresenta un carattere UTF-16.

La maggior parte dei framework, incluse le strutture di Java SE come java.util.ResourceBundle, carica i file delle proprietà come InputStreams. Quando si carica un file di proprietà da un InputStream, quel file può contenere solo caratteri ISO 8859-1 (ovvero caratteri nell'intervallo 0-255). Qualsiasi altro personaggio deve essere rappresentato come \u escape. Tuttavia, puoi scrivere un file di testo in qualsiasi codifica e utilizzare lo strumento native2ascii (che viene fornito con ogni JDK) per farlo scappare per te.

Se si sta caricando un file di proprietà con il proprio codice, può essere in qualsiasi codifica, purché si crei un Reader (come un InputStreamReader ) basato sul set di caratteri corrispondente. È quindi possibile caricare il file utilizzando load (Reader) anziché il metodo di caricamento legacy (InputStream).

È anche possibile memorizzare le proprietà in un semplice file XML, che consente al file stesso di definire la codifica. Tale file può essere caricato con il metodo loadFromXML . La DTD che descrive la struttura di tali file XML si trova all'indirizzo http://java.sun.com/dtd/properties.dtd .

Proprietà Classe Esempi correlati