.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.
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:value
y 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]
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:
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]
java.util.Properties.load(java.io.Reader)
- proporciona la semántica precisa de archivos de propiedades Java bien formadosjava.util.PropertyResourceBundle
- describe paquetes de recursos inmobiliariosjava.util.Properties
- explica las propiedades de Java en un formato XML simple.