O que é o formato de ficheiro PROPERTIES?
Arquivos com a extensão .properties são usados pela tecnologia Java para armazenar propriedades e parâmetros de aplicação configuráveis. Eles também podem incluir strings para internacionalização e localização, tornando-os um formato padrão para pacotes de mensagens i18n em aplicações Java e frameworks como Spring.
Cada linha em um arquivo .properties contém um único parâmetro. Cada parâmetro é armazenado como um par de strings - a primeira contém o nome do parâmetro (chamado de chave) e a segunda contém seu valor. Chaves e valores são separados por =, :, ou espaços em branco. Linhas que começam com # ou ! são tratadas como comentários e ignoradas pelo analisador. Uma barra invertida (\\) no final de uma linha continua o valor na linha seguinte.
Por padrão, os arquivos .properties são codificados em ISO-8859-1 (Latin-1). Caracteres não latinos devem ser escritos como sequências de escape Unicode \\uXXXX - ao contrário de arquivos YAML ou arquivos XML, que suportam nativamente UTF-8. O Java 9 introduziu o suporte para carregar arquivos .properties em UTF-8 quando um charset explícito é fornecido.
Editando arquivos .properties
Arquivos .properties podem ser modificados livremente com qualquer editor de texto. No entanto, ferramentas mais avançadas para edição de arquivos também estão disponíveis, equipadas com funções adicionais não suportadas por editores de texto comuns. O uso dessas ferramentas permite:
- validação de dados
- criação de novas chaves
- sincronização de nomes de chaves entre arquivos de localidade
- conversão automática bidirecional de símbolos não ASCII para escapes
\\uXXXX - integração com Eclipse
Informações adicionais
Os arquivos .properties são acessados em aplicações Java através da classe java.util.Properties. Eles são normalmente empacotados como recursos de classpath dentro de arquivos JAR ou WAR e carregados em tempo de execução - não há um diretório padrão fixo para eles. O formato .ini desempenha um papel semelhante em ambientes não Java, enquanto arquivos .env são comumente usados em implantações modernas em contêineres.
Segurança e proteção
RISCO: LOWUm arquivo .properties é texto simples e não pode executar código, portanto, abrir um é seguro. Duas preocupações reais: (1) eles frequentemente contêm segredos - senhas de banco de dados, chaves de API, strings de conexão - portanto, não os cole em ferramentas online não confiáveis nem os envie para repositórios públicos. (2) Risco de edição: um erro de digitação, codificação errada (salvar UTF-8 onde ISO-8859-1 é esperado pode corromper acentos) ou um caractere perdido pode impedir a inicialização da aplicação Java. Sempre faça backup do original antes de alterar um valor.
Detalhes do formato
em resumoProgramas que abrem arquivos PROPERTIES
Detalhes técnicos
especificação profunda| Codificação padrão | ISO-8859-1 (Latin-1) |
| Suporte a UTF-8 | Disponível a partir do Java 9+ via argumento de charset explícito em Properties.load() |
| Caracteres não ASCII | Devem ser representados como sequências de escape Unicode \uXXXX ao usar a codificação ISO-8859-1 |
| Separador de chave-valor | =, :, ou espaço em branco não escapado - a primeira ocorrência divide a chave do valor |
| Sintaxe de comentário | # ou ! no início de uma linha |
| Continuação de linha | Uma \ final une a próxima linha ao valor atual; espaços em branco iniciais na linha de continuação são removidos |
| Remoção de espaços em branco | Espaços em branco iniciais antes das chaves e entre o separador e o valor são removidos automaticamente |
| Comportamento de chaves duplicadas | Permitido pelo analisador; a última definição sobrescreve silenciosamente as anteriores |
| Classe da API Java | java.util.Properties |
| Tipo MIME | text/plain |
| Assinatura / Magic bytes | Nenhum - texto simples sem cabeçalho binário; identificado pela extensão do arquivo e estrutura de linha chave=valor |
| Sequências de escape suportadas | \n, \t, \r, \\, \ (espaço escapado em chaves/valores), \uXXXX |
| Desenvolvedor / Mantenedor | Sun Microsystems / Oracle (parte da plataforma Java) |
| Implantação comum | Empacotado como recursos de classpath dentro de arquivos JAR ou WAR; carregado em tempo de execução via getResourceAsStream() |
| Adoção no ecossistema | Usado por Java SE, Spring Framework, Android (legado), Apache Ant, Maven e muitas ferramentas de terceiros |
| Lançado | 1996 (Java 1.0, java.util.Properties) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | docs.oracle.com |
Conversões de PROPERTIES
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos PROPERTIES.