Lenguaje

Properties.Load Método

Definición

Sobrecargas

Nombre Description
Load(Reader)

Lee una lista de propiedades (pares clave y elemento) de la secuencia de caracteres de entrada en un formato simple orientado a líneas.

Load(Stream)

Lee una lista de propiedades (pares clave y elemento) de la secuencia de bytes de entrada.

Load(Reader)

Lee una lista de propiedades (pares clave y elemento) de la secuencia de caracteres de entrada en un formato simple orientado a líneas.

[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

Parámetros

reader
Reader

flujo de caracteres de entrada.

Atributos

Excepciones

Comentarios

Lee una lista de propiedades (pares clave y elemento) de la secuencia de caracteres de entrada en un formato simple orientado a líneas.

Las propiedades se procesan en términos de líneas. Hay dos tipos de líneas, líneas naturales y líneas lógicas. Una línea natural se define como una línea de caracteres que finaliza mediante un conjunto de caracteres de terminador de línea (\n o \r\r\n) o al final de la secuencia. Una línea natural puede ser una línea en blanco, una línea de comentario o contener todos o algunos de un par de elementos clave. Una línea lógica contiene todos los datos de un par de elementos clave, que se pueden distribuir entre varias líneas naturales adyacentes mediante el escape de la secuencia del terminador de línea con un carácter \de barra diagonal inversa . Tenga en cuenta que no se puede extender una línea de comentario de esta manera; cada línea natural que sea un comentario debe tener su propio indicador de comentario, como se describe a continuación. Las líneas se leen desde la entrada hasta el final de la secuencia.

Una línea natural que contiene solo caracteres de espacio en blanco se considera en blanco y se omite. Una línea de comentario tiene un ASCII '#' o '!' como su primer carácter de espacio no en blanco; las líneas de comentario también se omiten y no codifican la información del elemento clave. Además de los terminadores de línea, este formato considera que el espacio de caracteres (' ', '\u005Cu0020'), la pestaña ('\t', '\u005Cu0009') y la fuente de formularios ('\f', '\u005Cu000C') son espacios en blanco.

Si una línea lógica se distribuye entre varias líneas naturales, la barra diagonal inversa escapa a la secuencia del terminador de línea, la secuencia del terminador de línea y cualquier espacio en blanco al principio de la línea siguiente no afecta a los valores de clave o elemento. El resto de la explicación del análisis de clave y elemento (al cargar) asume que todos los caracteres que constituyen la clave y el elemento aparecen en una sola línea natural después de que se hayan quitado los caracteres de continuación de línea. Tenga en cuenta que no es suficiente examinar solo el carácter anterior a una secuencia de terminador de línea para decidir si el terminador de línea es de escape; debe haber un número impar de barras diagonales inversas contiguas para que el terminador de línea se escape. Dado que la entrada se procesa de izquierda a derecha, un número par distinto de cero de 2n barras diagonales inversas contiguas antes de que un terminador de línea (o en otro lugar) codifique n barras diagonales inversas después del procesamiento de escape.

La clave contiene todos los caracteres de la línea comenzando por el primer carácter de espacio no en blanco y hasta, pero no incluido, el primer carácter de espacio en blanco sincapar '=', ':'o distinto de un terminador de línea. Todos estos caracteres de terminación de clave se pueden incluir en la clave escapándolos con un carácter de barra diagonal inversa anterior; por ejemplo,

\:\=

sería la tecla ":="de dos caracteres . Los caracteres de terminador de línea se pueden incluir mediante \r secuencias de escape y \n . Cualquier espacio en blanco después de omitir la clave; si el primer carácter de espacio no en blanco después de la tecla es '=' o ':', se omite y se omiten los caracteres de espacio en blanco después de que también se omitan. Todos los caracteres restantes de la línea forman parte de la cadena de elemento asociada; si no hay caracteres restantes, el elemento es la cadena ""vacía . Una vez identificadas las secuencias de caracteres sin procesar que constituyen la clave y el elemento, el procesamiento de escape se realiza como se describió anteriormente.

Por ejemplo, cada una de las tres líneas siguientes especifica la clave "Truth" y el valor "Beauty"del elemento asociado :

Truth = Beauty
             Truth:Beauty
            Truth                    :Beauty

Como otro ejemplo, las tres líneas siguientes especifican una sola propiedad:

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

La clave es "fruits" y el elemento asociado es:

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

Tenga en cuenta que un espacio aparece antes de cada \ uno para que un espacio aparezca después de cada coma en el resultado final; el terminador de línea , y el \espacio en blanco inicial en la línea de continuación simplemente se descartan y no se reemplazan por uno o más caracteres.

Como tercer ejemplo, la línea :

cheeses

especifica que la clave es "cheeses" y el elemento asociado es la cadena ""vacía .

Los caracteres "unicodeescapes" en claves y elementos se pueden representar en secuencias de escape similares a las usadas para los literales de caracteres y cadenas (vea las secciones 3.3 y 3.10.6 de citaThe Java& comercio; Especificación del lenguaje/cita).

Las diferencias entre las secuencias de escape de caracteres y los escapes Unicode usados para caracteres y cadenas son:

<No se reconocen los escapes ul><li> Octal.

<li> La secuencia \b de caracteres no representa un carácter de espacio atrás.

<li> El método no trata un carácter de barra diagonal inversa, , \antes de un carácter de escape no válido como un error; la barra diagonal inversa se quita silenciosamente. Por ejemplo, en una cadena de Java la secuencia "\z" provocaría un error en tiempo de compilación. En cambio, este método quita silenciosamente la barra diagonal inversa. Por lo tanto, este método trata la secuencia "\b" de dos caracteres como equivalente al carácter 'b'único .

<li> Escapes no son necesarios para comillas simples y dobles; sin embargo, por la regla anterior, los caracteres de comillas simples y dobles precedidos por una barra diagonal inversa siguen produciendo caracteres de comillas simples y dobles, respectivamente.

<li> Solo se permite un solo carácter 'u' en una secuencia de escape Unicode.

</ul>

La secuencia especificada permanece abierta después de que este método devuelva.

Agregado en la versión 1.6.

Documentación de Java para java.util.Properties.load(java.io.Reader).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Load(Stream)

Lee una lista de propiedades (pares clave y elemento) de la secuencia de bytes de entrada.

[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

Parámetros

inStream
Stream

flujo de entrada.

Atributos

Excepciones

Comentarios

Lee una lista de propiedades (pares clave y elemento) de la secuencia de bytes de entrada. La secuencia de entrada tiene un formato simple orientado a líneas, tal como se especifica en #load(java.io.Reader) load(Reader) y se supone que usa la codificación de caracteres ISO 8859-1; es decir, cada byte es un carácter latin1. Los caracteres no en latin1 y ciertos caracteres especiales se representan en claves y elementos mediante escapes Unicode como se define en la sección 3.3 de citaThe Java& and; comercio; Especificación del lenguaje/cita.

La secuencia especificada permanece abierta después de que este método devuelva.

Agregado en la versión 1.2.

Documentación de Java para java.util.Properties.load(java.io.InputStream).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a