Langage

Properties.Load Méthode

Définition

Surcharges

Nom Description
Load(Reader)

Lit une liste de propriétés (paires clé et élément) à partir du flux de caractères d’entrée dans un format simple orienté ligne.

Load(Stream)

Lit une liste de propriétés (paires clé et élément) à partir du flux d’octets d’entrée.

Load(Reader)

Lit une liste de propriétés (paires clé et élément) à partir du flux de caractères d’entrée dans un format simple orienté ligne.

[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

Paramètres

reader
Reader

flux de caractères d’entrée.

Attributs

Exceptions

Remarques

Lit une liste de propriétés (paires clé et élément) à partir du flux de caractères d’entrée dans un format simple orienté ligne.

Les propriétés sont traitées en termes de lignes. Il existe deux types de lignes, de lignes naturelles et de lignes logiques. Une ligne naturelle est définie comme une ligne de caractères qui est arrêtée par un ensemble de caractères de fin de ligne (\n ou \r\r\n) ou par la fin du flux. Une ligne naturelle peut être une ligne vide, une ligne de commentaire ou contenir tout ou partie d’une paire d’éléments clés. Une ligne logique contient toutes les données d’une paire d’éléments clés, qui peut être répartie sur plusieurs lignes naturelles adjacentes en échappant la séquence de fin de ligne avec un caractère \de barre oblique inverse. Notez qu’une ligne de commentaire ne peut pas être étendue de cette façon ; chaque ligne naturelle qui est un commentaire doit avoir son propre indicateur de commentaire, comme décrit ci-dessous. Les lignes sont lues à partir de l’entrée jusqu’à ce que la fin du flux soit atteinte.

Une ligne naturelle qui contient uniquement des espaces blancs est considérée comme vide et est ignorée. Une ligne de commentaire a un caractère ASCII '#' ou '!' en tant que premier caractère d’espace non blanc ; les lignes de commentaire sont également ignorées et n’encodent pas les informations d’élément clé. En plus des terminateurs de ligne, ce format considère l’espace des caractères (' ', '\u005Cu0020'), l’onglet ('\t', '\u005Cu0009'et le flux de formulaire ('\f', '\u005Cu000C') comme un espace blanc.

Si une ligne logique est répartie sur plusieurs lignes naturelles, la barre oblique inverse échappant la séquence de fin de ligne, la séquence de fin de ligne et tout espace blanc au début de la ligne suivante n’a aucun impact sur les valeurs de clé ou d’élément. Le reste de la discussion sur l’analyse de clé et d’élément (lors du chargement) suppose que tous les caractères constituant la clé et l’élément apparaissent sur une seule ligne naturelle après la suppression des caractères de continuation de ligne. Notez qu’il n’est pas suffisant d’examiner uniquement le caractère qui précède une séquence de fin de ligne pour décider si le terminateur de ligne est échappé ; il doit y avoir un nombre impair de barres obliques inverses contiguës pour que le terminateur de ligne soit échappé. Étant donné que l’entrée est traitée de gauche à droite, un nombre pair différent de zéro de 2barres obliques inverses contiguës avant un pointeur de fin de ligne (ou ailleurs) encode n barres obliques inverses après le traitement d’échappement.

La clé contient tous les caractères de la ligne commençant par le premier caractère non blanc et jusqu’à, mais pas inclus, le premier caractère non bouclé '=', ':'ou le premier caractère d’espace blanc autre qu’un point de fin de ligne. Tous ces caractères de terminaison de clé peuvent être inclus dans la clé en les échappant avec une barre oblique inverse précédente ; par exemple,

\:\=

serait la touche ":="à deux caractères . Les caractères de fin de ligne peuvent être inclus à l’aide \r et \n aux séquences d’échappement. Tout espace blanc après que la clé est ignorée ; si le premier caractère d’espace non blanc après la clé est '=' ou ':', il est ignoré et tous les espaces blancs après qu’ils sont également ignorés. Tous les caractères restants de la ligne font partie de la chaîne d’élément associée ; s’il n’y a pas de caractères restants, l’élément est la chaîne ""vide. Une fois que les séquences de caractères brutes constituant la clé et l’élément sont identifiées, le traitement d’échappement est effectué comme décrit ci-dessus.

Par exemple, chacune des trois lignes suivantes spécifie la clé "Truth" et la valeur "Beauty"de l’élément associé :

Truth = Beauty
             Truth:Beauty
            Truth                    :Beauty

Comme autre exemple, les trois lignes suivantes spécifient une propriété unique :

fruits                           apple, banana, pear, \
                                             cantaloupe, watermelon, \
                                             kiwi, mango

La clé est "fruits" et l’élément associé est :

"apple, banana, pear, cantaloupe, watermelon, kiwi, mango"

Notez qu’un espace apparaît avant chacun \ afin qu’un espace apparaisse après chaque virgule dans le résultat final ; le \point de terminaison de ligne et l’espace blanc de début sur la ligne de continuation sont simplement ignorés et ne sont pas remplacés par un ou plusieurs autres caractères.

En troisième exemple, la ligne :

cheeses

spécifie que la clé est "cheeses" et que l’élément associé est la chaîne ""vide .

Les caractères « unicodeescapes » dans les touches et les éléments peuvent être représentés dans des séquences d’échappement similaires à celles utilisées pour les littéraux de caractères et de chaînes (voir les sections 3.3 et 3.10.6 de la citationThe Java& commerce ; Spécification/cite du langage).

Les différences entre les séquences d’échappement de caractères et les échappements Unicode utilisés pour les caractères et les chaînes sont les suivantes :

<les échappements ul><li> Octal ne sont pas reconnus.

<li> La séquence \b de caractères ne représente pas de caractère arrière.

<li> La méthode ne traite pas un caractère de barre oblique inverse, \avant un caractère d’échappement non valide comme une erreur ; la barre oblique inverse est supprimée en mode silencieux. Par exemple, dans une chaîne Java, la séquence "\z" provoque une erreur de temps de compilation. En revanche, cette méthode supprime silencieusement la barre oblique inverse. Par conséquent, cette méthode traite la séquence "\b" de deux caractères comme équivalente au caractère 'b'unique.

<les échappements li> ne sont pas nécessaires pour les guillemets simples et doubles ; toutefois, par la règle ci-dessus, les caractères de guillemets simples et doubles précédés d’une barre oblique inverse donnent toujours des guillemets simples et doubles, respectivement.

<li> Un seul caractère « u » est autorisé dans une séquence d’échappement Unicode.

</ul>

Le flux spécifié reste ouvert une fois cette méthode retournée.

Ajouté dans la version 1.6.

Java documentation pour java.util.Properties.load(java.io.Reader).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à

Load(Stream)

Lit une liste de propriétés (paires clé et élément) à partir du flux d’octets d’entrée.

[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

Paramètres

inStream
Stream

flux d’entrée.

Attributs

Exceptions

Remarques

Lit une liste de propriétés (paires clé et élément) à partir du flux d’octets d’entrée. Le flux d’entrée se trouve dans un format simple orienté ligne tel que spécifié #load(java.io.Reader) load(Reader) et est supposé utiliser l’encodage de caractères ISO 8859-1 ; c’est-à-dire chaque octet est un caractère Latin1. Les caractères non en latin1, et certains caractères spéciaux, sont représentés dans les clés et les éléments utilisant des échappements Unicode tels que définis dans la section 3.3 de la citationLa Java& commerce ; Spécification/cite du langage.

Le flux spécifié reste ouvert une fois cette méthode retournée.

Ajouté dans la version 1.2.

Java documentation pour java.util.Properties.load(java.io.InputStream).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à