stringtranslate.com

.propiedades

.properties es una extensión de archivo para archivos utilizados principalmente en tecnologías relacionadas con Java para almacenar los parámetros configurables de una aplicación . También se pueden utilizar para almacenar cadenas para internacionalización y localización ; estos se conocen como paquetes de recursos inmobiliarios.

Cada parámetro se almacena como un par de cadenas , una almacena el nombre del parámetro (llamada clave ) y la otra almacena el valor.

A diferencia de muchos formatos de archivo populares, no existe un RFC para los archivos .properties y los documentos de especificaciones no siempre son claros, probablemente debido a la simplicidad del formato.

Formato

Cada línea de un archivo .properties normalmente almacena una única propiedad. Son posibles varios formatos para cada línea, incluidos key=value, key = value, key:valuey key value. Las comillas simples o dobles se consideran parte de la cadena. El espacio posterior es importante y se supone que debe recortarse según lo requiera el consumidor.

Las líneas de comentarios en archivos .properties se indican con el signo numérico (#) o el signo de exclamación (!) como el primer carácter que no está en blanco , en el que se ignora todo el texto restante en esa línea. La barra invertida se utiliza para escapar de un carácter. A continuación se proporciona un ejemplo de un archivo de propiedades.

# Estás leyendo un comentario en el archivo ".properties".! El signo de exclamación ('!') también se puede utilizar para comentarios.# Los comentarios se ignoran.# Las líneas en blanco también se ignoran.# Las líneas con "propiedades" contienen una clave y un valor separados por un carácter delimitador.# Hay 3 caracteres delimitadores: igual ('='), dos puntos (':') y espacios en blanco (' ', '\t' y '\f').sitio web = https://en.wikipedia.org/  Idioma : inglés  Tema archivos .properties # Una palabra en una línea simplemente creará una clave sin valor.vacío# Se ignora el espacio en blanco que aparece entre la clave, el delimitador y el valor.# Esto significa que lo siguiente es equivalente (aparte de la legibilidad).hola = holahola = hola  # Para comenzar el valor con espacios en blanco, escápelo con un espacio de retroceso ('\').whitespaceStart = \ <-Este espacio no se ignora.  # Las claves con el mismo nombre se sobrescribirán con la clave que esté más lejos en un archivo.# Por ejemplo, el valor final de "duplicateKey" será "segundo".clave duplicada = primero  clave duplicada = segundo  # Para usar los caracteres delimitadores dentro de una clave, debe escapar de ellos con un ('\').# Sin embargo, no es necesario hacer esto en el valor.delimiterCharacters \:\=\ = Este es el valor de la clave "delimiterCharacters \:\=\ " # Agregar una barra invertida ('\') al final de una línea significa que el valor continúa en la siguiente línea.multilínea = Esta línea \  continúa# Si desea que su valor incluya una barra invertida ('\'), debe ir acompañada de otra barra invertida ('\').ruta = c: \\ wiki \\ plantillas  # Esto significa que si el número de barras invertidas ('\') al final de la línea es par, la siguiente línea no se incluye en el valor.# En el siguiente ejemplo, el valor de "evenKey" es "Esto está en una línea\".evenKey = Esto está en una línea \\  # Esta línea es un comentario normal y no está incluida en el valor de "evenKey".# Si el número de barra invertida ('\') es impar, entonces la siguiente línea se incluye en el valor.# En el siguiente ejemplo, el valor de "oddKey" es "Esta es la línea uno y\# Esta es la línea dos".oddKey = Esta es la línea uno y \\\  # Esta es la línea dos# Se eliminan los espacios en blanco al principio de una línea.# Asegúrese de agregar los espacios que necesita antes de la barra invertida ('\') en la primera línea.# Si los agrega al principio de la siguiente línea, se eliminarán.# En el siguiente ejemplo, el valor de "bienvenido" es "¡Bienvenido a Wikipedia!".bienvenido = Bienvenido a \   ¡Wikipedia!# Si necesita agregar nuevas líneas y retornos de carro, deben escaparse usando ('\n') y ('\r') respectivamente.# También puedes, opcionalmente, escapar de las pestañas con ('\t') para facilitar la lectura.valueWithEscapes = Esta es una nueva línea \n y un retorno de carro \r y una pestaña \t .  # También puedes utilizar caracteres de escape Unicode (máximo de cuatro dígitos hexadecimales).# En el siguiente ejemplo, el valor de "encodedHelloInJapanese" es "こんにちは".codificadoHelloInJapanese = \u 3053 \u 3093 \u 306b \u 3061 \u 306f  # Pero con codificaciones de archivos más modernas como UTF-8, puedes usar directamente los caracteres compatibles.hola en japonés =こんにちは  

En el ejemplo anterior:

Antes de Java 9, la codificación de un archivo .properties era ISO-8859-1 , también conocida como Latin-1. Todos los caracteres que no sean ASCII deben ingresarse utilizando caracteres de escape Unicode , por ejemplo, \uHHHH donde HHHH es un índice hexadecimal del carácter en el conjunto de caracteres Unicode. Esto permite utilizar archivos .properties como paquetes de recursos para la localización . Un archivo de texto que no sea Latin-1 se puede convertir en un archivo .properties correcto utilizando la herramienta Native2ascii que se incluye con el JDK o utilizando una herramienta, como po2prop, [1] que gestiona la transformación desde un formato de localización bilingüe. en .properties escapando.

Una alternativa al uso de caracteres de escape Unicode para caracteres no latinos 1 en archivos Java *.properties codificados con caracteres ISO 8859-1 es utilizar el formato de archivo de propiedades XML del JDK, que de forma predeterminada está codificado en UTF-8 , introducido a partir de Java 1.5. [2]

Otra alternativa es crear un control personalizado que proporcione codificación personalizada. [3]

En Java 9 y versiones posteriores, la codificación predeterminada específicamente para los paquetes de recursos de propiedad es UTF-8 y, si se encuentra una secuencia de bytes UTF-8 no válida, se recurre a ISO-8859-1. [4] [5]

Edición

La edición de archivos .properties se realiza utilizando cualquier editor de texto , como los que normalmente se instalan en varios sistemas operativos, incluido el Bloc de notas en Windows o Emacs , Vim , etc. en sistemas Linux.

También hay disponibles herramientas de terceros con funciones adicionales específicas para editar archivos .properties, como:

Usos y excepciones que no son de Java

Apache Flex también usa archivos .properties, pero aquí están codificados en UTF-8. [6]

En el formato uriworkermap.properties de Apache mod_jk , un signo de exclamación ("!") denota un operador de negación cuando se usa como el primer carácter que no está en blanco en una línea. [7]

Perl CPAN contiene Config::Properties para interactuar con un archivo .properties. [8]

SAP utiliza archivos .properties para la localización dentro de su marco SAPUI5 y su variante de código abierto OpenUI5 [9]

Hay muchas opciones de Node.js (JavaScript/TypeScript) disponibles en el administrador de paquetes de Npm . [10]

PHP también tiene muchas opciones de paquetes disponibles. [11]

Ver también

Referencias

  1. ^ Po2prop de Translate Toolkit convierte codificaciones de caracteres nativos en un archivo PO de Gettext en ascii con escape correcto sin la necesidad de Native2ascii
  2. ^ Propiedades XML de Java DTD
  3. ^ "java: cómo utilizar UTF-8 en propiedades de recursos con ResourceBundle". Desbordamiento de pila . Archivado desde el original el 17 de marzo de 2015 . Consultado el 28 de enero de 2015 .
  4. ^ "Mejoras de internacionalización en JDK 9". Centro de ayuda de Oracle . Consultado el 5 de enero de 2018 .
  5. ^ "JEP 226: Paquetes de recursos inmobiliarios UTF-8". AbiertoJDK . Consultado el 3 de septiembre de 2020 .
  6. ^ "Paquete de recursos IR". Referencia de la API de Adobe ActionScript 3 (AS3 Flex) .
  7. ^ "configuración de uriworkermap.properties". Conectores Apache Tomcat: guía de referencia .
  8. ^ "Config::Properties: leer y escribir archivos de propiedades". metacpan.org .
  9. ^ "SDK de SAPUI5: kit de demostración". sapui5.hana.ondemand.com . Consultado el 14 de mayo de 2019 .
  10. ^ "palabras clave: propiedades del análisis de Java - búsqueda de npm". www.npmjs.com . Consultado el 22 de marzo de 2022 .
  11. ^ "Empaquetador". packagist.org . Consultado el 22 de marzo de 2022 .

enlaces externos