Properties.Load Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| Load(Reader) |
Legge un elenco di proprietà (coppie chiave ed elemento) dal flusso di caratteri di input in un formato semplice orientato alla riga. |
| Load(Stream) |
Legge un elenco di proprietà (coppie chiave ed elemento) dal flusso di byte di input. |
Load(Reader)
Legge un elenco di proprietà (coppie chiave ed elemento) dal flusso di caratteri di input in un formato semplice orientato alla riga.
[Android.Runtime.Register("load", "(Ljava/io/Reader;)V", "GetLoad_Ljava_io_Reader_Handler")]
public virtual void Load(Java.IO.Reader? reader);
[<Android.Runtime.Register("load", "(Ljava/io/Reader;)V", "GetLoad_Ljava_io_Reader_Handler")>]
abstract member Load : Java.IO.Reader -> unit
override this.Load : Java.IO.Reader -> unit
Parametri
- reader
- Reader
flusso di caratteri di input.
- Attributi
Eccezioni
Commenti
Legge un elenco di proprietà (coppie chiave ed elemento) dal flusso di caratteri di input in un formato semplice orientato alla riga.
Le proprietà vengono elaborate in termini di righe. Esistono due tipi di linea, linee naturali e linee logiche. Una linea naturale viene definita come riga di caratteri che viene terminata da un set di caratteri di terminazione di riga (\n o \r ) \r\no dalla fine del flusso. Una linea naturale può essere una riga vuota, una riga di commento o contenere tutte o alcune di una coppia chiave-elemento. Una riga logica contiene tutti i dati di una coppia chiave-elemento, che può essere distribuita in diverse linee naturali adiacenti eseguendo l'escape della sequenza di terminazione della riga con un carattere \barra rovesciata. Si noti che una riga di commento non può essere estesa in questo modo; ogni linea naturale che è un commento deve avere un proprio indicatore di commento, come descritto di seguito. Le righe vengono lette dall'input fino al raggiungimento della fine del flusso.
Una linea naturale che contiene solo spazi vuoti viene considerata vuota e viene ignorata. Una riga di commento ha un carattere ASCII '#' o '!' come primo carattere non vuoto. Le righe di commento vengono ignorate e non codificano le informazioni sull'elemento chiave. Oltre ai caratteri di terminazione della riga, questo formato considera lo spazio dei caratteri (' ', '\u005Cu0020'), la scheda ('\t', '\u005Cu0009') e il feed di moduli ('\f', '\u005Cu000C') come spazi vuoti.
Se una linea logica viene distribuita tra più linee naturali, la barra rovesciata che esca dalla sequenza del terminatore di riga, la sequenza del terminatore di riga e qualsiasi spazio vuoto all'inizio della riga seguente non influisce sui valori chiave o elemento. La parte restante della discussione sull'analisi di chiave ed elemento (durante il caricamento) presuppone che tutti i caratteri che costituiscono la chiave e l'elemento vengano visualizzati su una singola linea naturale dopo la rimozione dei caratteri di continuazione della riga. Si noti che non è sufficiente esaminare solo il carattere che precede una sequenza di terminazione di riga per decidere se il terminatore di riga è preceduto da un carattere di escape; deve essere presente un numero dispari di barre rovesciate contigue per il carattere di escape del terminatore di riga. Poiché l'input viene elaborato da sinistra a destra, un numero pari diverso da zero di 2n barre rovesciate contigue prima di un terminatore di riga (o altrove) codifica n barre rovesciate dopo l'elaborazione di escape.
La chiave contiene tutti i caratteri nella riga che iniziano con il primo carattere non vuoto e fino a, ma non include, il primo carattere senza caratteri di escape '=', ':'o spazi vuoti diverso da un carattere di terminazione della riga. Tutti questi caratteri di terminazione della chiave possono essere inclusi nella chiave eseguendo l'escape con un carattere barra rovesciata precedente; ad esempio,
\:\=
sarebbe il tasto ":="a due caratteri . I caratteri di terminazione riga possono essere inclusi usando \r e \n sequenze di escape. Qualsiasi spazio vuoto dopo che la chiave viene ignorata; se il primo carattere non vuoto dopo la chiave è '=' o ':', viene ignorato e gli eventuali spazi vuoti dopo che vengono ignorati. Tutti i caratteri rimanenti sulla riga diventano parte della stringa di elemento associata; se non sono presenti caratteri rimanenti, l'elemento è la stringa ""vuota . Una volta identificate le sequenze di caratteri non elaborati che costituiscono la chiave e l'elemento, l'elaborazione di escape viene eseguita come descritto in precedenza.
Ad esempio, ognuna delle tre righe seguenti specifica la chiave "Truth" e il valore "Beauty"dell'elemento associato :
Truth = Beauty
Truth:Beauty
Truth :Beauty
Come altro esempio, le tre righe seguenti specificano una singola proprietà:
fruits apple, banana, pear, \
cantaloupe, watermelon, \
kiwi, mango
La chiave è "fruits" e l'elemento associato è:
"apple, banana, pear, cantaloupe, watermelon, kiwi, mango"
Si noti che uno spazio viene visualizzato prima di ognuno \ in modo che uno spazio venga visualizzato dopo ogni virgola nel risultato finale. Il \terminatore di riga , e lo spazio vuoto iniziale sulla riga di continuazione vengono semplicemente eliminati e non vengono sostituiti da uno o più caratteri.
Come terzo esempio, la riga:
cheeses
specifica che la chiave è "cheeses" e l'elemento associato è la stringa ""vuota .
I caratteri "unicodeescapes"
Le differenze tra le sequenze di escape dei caratteri e i caratteri di escape Unicode usati per caratteri e stringhe sono:
<ul><li> Octal escapes non sono riconosciuti.
<li> La sequenza \b di caratteri non rappresenta un carattere backspace.
<li> Il metodo non considera un carattere barra rovesciata, , \prima di un carattere di escape non valido come errore. La barra rovesciata viene eliminata automaticamente. Ad esempio, in una stringa Java la sequenza "\z" provocherebbe un errore di fase di compilazione. Al contrario, questo metodo elimina automaticamente la barra rovesciata. Pertanto, questo metodo considera le due sequenze "\b" di caratteri come equivalenti al singolo carattere 'b'.
<I caratteri di escape li> non sono necessari per virgolette singole e doppie. Tuttavia, in base alla regola precedente, i caratteri virgolette singole e doppie preceduti da una barra rovesciata producono rispettivamente caratteri virgolette singole e doppie.
<li> È consentito un solo carattere 'u' in una sequenza di escape Unicode.
</ul>
Il flusso specificato rimane aperto dopo la restituzione di questo metodo.
Aggiunta nella versione 1.6.
per java.util.Properties.load(java.io.Reader).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica a
Load(Stream)
Legge un elenco di proprietà (coppie chiave ed elemento) dal flusso di byte di input.
[Android.Runtime.Register("load", "(Ljava/io/InputStream;)V", "GetLoad_Ljava_io_InputStream_Handler")]
public virtual void Load(System.IO.Stream? inStream);
[<Android.Runtime.Register("load", "(Ljava/io/InputStream;)V", "GetLoad_Ljava_io_InputStream_Handler")>]
abstract member Load : System.IO.Stream -> unit
override this.Load : System.IO.Stream -> unit
Parametri
- inStream
- Stream
flusso di input.
- Attributi
Eccezioni
Commenti
Legge un elenco di proprietà (coppie chiave ed elemento) dal flusso di byte di input. Il flusso di input è in un semplice formato orientato alla riga come specificato in #load(java.io.Reader) load(Reader) e si presuppone che usi la codifica dei caratteri ISO 8859-1, ovvero ogni byte è un carattere Latin1. I caratteri non in Latin1 e alcuni caratteri speciali sono rappresentati in chiavi ed elementi utilizzando caratteri di escape Unicode definiti nella sezione 3.3 di
Il flusso specificato rimane aperto dopo la restituzione di questo metodo.
Aggiunta nella versione 1.2.
per java.util.Properties.load(java.io.InputStream).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.