Sprache

Properties.Load Methode

Definition

Überlädt

Name Beschreibung
Load(Reader)

Liest eine Eigenschaftsliste (Schlüssel- und Elementpaare) aus dem Eingabezeichendatenstrom in einem einfachen linienorientierten Format.

Load(Stream)

Liest eine Eigenschaftsliste (Schlüssel- und Elementpaare) aus dem Eingabebytestream.

Load(Reader)

Liest eine Eigenschaftsliste (Schlüssel- und Elementpaare) aus dem Eingabezeichendatenstrom in einem einfachen linienorientierten Format.

[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

Parameter

reader
Reader

der Eingabezeichendatenstrom.

Attribute

Ausnahmen

Hinweise

Liest eine Eigenschaftsliste (Schlüssel- und Elementpaare) aus dem Eingabezeichendatenstrom in einem einfachen linienorientierten Format.

Eigenschaften werden in Bezug auf Linien verarbeitet. Es gibt zwei Arten von Linien, natürlichen Linien und logischen Linien. Eine natürliche Zeile wird als Eine Zeile mit Zeichen definiert, die entweder durch eine Reihe von Zeilenterminatorzeichen (\n oder \r\r\n) oder am Ende des Datenstroms beendet wird. Eine natürliche Zeile kann entweder eine leere Zeile, eine Kommentarzeile oder ein Schlüsselelementpaar enthalten. Eine logische Linie enthält alle Daten eines Schlüsselelementpaars, das sich möglicherweise über mehrere angrenzende natürliche Zeilen erstreckt, indem die Zeilenterminatorsequenz mit einem umgekehrten Schrägstrich \gekapselt wird. Beachten Sie, dass eine Kommentarzeile nicht auf diese Weise erweitert werden kann; Jede natürliche Zeile, die ein Kommentar ist, muss wie unten beschrieben über einen eigenen Kommentarindikator verfügen. Zeilen werden von der Eingabe gelesen, bis das Ende des Datenstroms erreicht ist.

Eine natürliche Zeile, die nur Leerzeichen enthält, wird als leer betrachtet und ignoriert. Eine Kommentarzeile weist ein ASCII-Zeichen '#' oder '!' als erstes Nicht-Leerzeichen auf. Kommentarzeilen werden ebenfalls ignoriert und codieren keine Schlüsselelementinformationen. Zusätzlich zu Zeilenterminatoren berücksichtigt dieses Format das Leerzeichen (' ', Tabstopp ('\t', '\u005Cu0009') und den Formularfeed ('\f', '\u005Cu000C') als Leerzeichen'\u005Cu0020'.

Wenn eine logische Linie über mehrere natürliche Zeilen verteilt ist, hat der umgekehrte Schrägstrich die Zeilenterminatorsequenz, die Zeilenterminatorsequenz und alle Leerzeichen am Anfang der folgenden Zeile keine Auswirkungen auf die Schlüssel- oder Elementwerte. Im weiteren Verlauf der Diskussion über die Analyse von Schlüsseln und Elementen (beim Laden) wird davon ausgegangen, dass alle Zeichen, die den Schlüssel und das Element bilden, in einer einzigen natürlichen Zeile angezeigt werden, nachdem Zeilenfortsetzungszeichen entfernt wurden. Beachten Sie, dass es nicht ausreicht, nur das Zeichen vor einer Zeilenterminatorsequenz zu untersuchen, um zu entscheiden, ob der Zeilenendpunktator escaped ist; Es muss eine ungerade Anzahl zusammenhängender umgekehrter Schrägstriche vorhanden sein, damit der Zeilenende escapen kann. Da die Eingabe von links nach rechts verarbeitet wird, codiert eine ungleich null gerade Zahl von 2n zusammenhängenden umgekehrten Schrägstrichen, bevor ein Zeilenterminator (oder an anderer Stelle) n umgekehrte Schrägstriche nach der Escapeverarbeitung codiert.

Die Taste enthält alle Zeichen in der Zeile, beginnend mit dem ersten Nicht-Leerzeichen und bis zu, aber nicht eingeschlossen, das erste nicht gezeichente '=', ':'oder Leerzeichen außer einem Zeilenendezeichen. Alle diese wichtigen Beendigungszeichen können in den Schlüssel eingeschlossen werden, indem sie mit einem vorangehenden umgekehrten Schrägstrich gekapselt werden. Zum Beispiel

\:\=

wäre die zweistellige Taste ":=". Zeilenendpunktzeichen können mithilfe von \r\n Escapesequenzen eingeschlossen werden. Leerzeichen, nachdem die Taste übersprungen wurde; wenn das erste Nicht-Leerzeichen nach dem Schlüssel '='':'oder , dann wird es ignoriert, und alle Leerzeichen, nachdem sie ebenfalls übersprungen wurden. Alle verbleibenden Zeichen in der Zeile werden Teil der zugeordneten Elementzeichenfolge; wenn keine verbleibenden Zeichen vorhanden sind, ist das Element die leere Zeichenfolge "". Sobald die rohen Zeichensequenzen, die den Schlüssel und das Element bilden, identifiziert werden, wird die Escapeverarbeitung wie oben beschrieben ausgeführt.

Als Beispiel gibt jede der folgenden drei Zeilen den Schlüssel "Truth" und den zugehörigen Elementwert "Beauty"an:

Truth = Beauty
             Truth:Beauty
            Truth                    :Beauty

Als weiteres Beispiel geben die folgenden drei Zeilen eine einzelne Eigenschaft an:

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

Der Schlüssel ist "fruits" und das zugeordnete Element lautet:

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

Beachten Sie, dass vor jedem \ ein Leerzeichen angezeigt wird, sodass nach jedem Komma im Endergebnis ein Leerzeichen angezeigt wird. Der \Zeilenendpunkt und führende Leerzeichen in der Fortsetzungszeile werden lediglich verworfen und werden nicht durch ein oder mehrere andere Zeichen ersetzt.

Als drittes Beispiel lautet die Zeile:

cheeses

Gibt an, dass der Schlüssel und "cheeses" das zugeordnete Element die leere Zeichenfolge ""ist.

"Unicodeescapes" Zeichen in Schlüsseln und Elementen können in Escapesequenzen dargestellt werden, die denen ähneln, die für Zeichen- und Zeichenfolgenliterale verwendet werden (siehe Abschnitte 3.3 und 3.10.6 des ZitatsThe Java& & Handel; Sprachspezifikation/Zitat).

Die Unterschiede zwischen den Zeichen escapesequenzen und Unicode-Escapezeichen, die für Zeichen und Zeichenfolgen verwendet werden, sind:

<ul><li> Octal Escapes werden nicht erkannt.

<li> Die Zeichenfolge \b stellt kein Rücktastenzeichen dar.

<li> Die Methode behandelt kein umgekehrtes Schrägstrichzeichen, \vor einem nicht gültigen Escapezeichen als Fehler; der umgekehrte Schrägstrich wird im Hintergrund gelöscht. In einer Java Zeichenfolge würde die Sequenz "\z" z. B. einen Kompilierungszeitfehler verursachen. Im Gegensatz dazu legt diese Methode den umgekehrten Schrägstrich im Hintergrund ab. Daher behandelt diese Methode die beiden Zeichenreihenfolge "\b" als Äquivalent zum einzelnen Zeichen 'b'.

<li> Escapes sind für einfache und doppelte Anführungszeichen nicht erforderlich. In der obigen Regel werden jedoch einzelne und doppelte Anführungszeichen vor einem umgekehrten Schrägstrich immer noch einfache und doppelte Anführungszeichen zurückgegeben.

<li> Nur ein einzelnes "u"-Zeichen ist in einer Unicode-Escapesequenz zulässig.

</ul>

Der angegebene Datenstrom bleibt geöffnet, nachdem diese Methode zurückgegeben wurde.

In 1.6 hinzugefügt.

Java Dokumentation für java.util.Properties.load(java.io.Reader).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Load(Stream)

Liest eine Eigenschaftsliste (Schlüssel- und Elementpaare) aus dem Eingabebytestream.

[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

Parameter

inStream
Stream

der Eingabedatenstrom.

Attribute

Ausnahmen

Hinweise

Liest eine Eigenschaftsliste (Schlüssel- und Elementpaare) aus dem Eingabebytestream. Der Eingabedatenstrom weist ein einfaches linienorientiertes Format auf #load(java.io.Reader) load(Reader) und wird davon ausgegangen, dass die ISO 8859-1-Zeichencodierung verwendet wird, d. h. jedes Byte ist ein Lateinisches Zeichen. Zeichen nicht in Latein1 und bestimmte Sonderzeichen werden in Schlüsseln und Elementen mit Unicode-Escapes dargestellt, wie in Abschnitt 3.3 des Zitats"The Java& & Handel; Sprachspezifikation/Zitat.

Der angegebene Datenstrom bleibt geöffnet, nachdem diese Methode zurückgegeben wurde.

In 1.2 hinzugefügt.

Java Dokumentation für java.util.Properties.load(java.io.InputStream).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: