Classe de propriedades em Java
A classe Properties representa um conjunto persistente de propriedades. As propriedades podem ser salvas em um fluxo ou carregadas de um fluxo. Ele pertence ao pacote java.util . As propriedades definem a seguinte variável de instância. Esta variável contém uma lista de propriedades padrão associada a um objeto Propriedades .
Padrões de propriedades: Esta variável contém uma lista de propriedades padrão associada a um objeto Propriedades.
Características da classe Propriedades:
- Propriedades é uma subclasse de Hashtable .
- É usado para manter uma lista de valores em que a chave é uma string e o valor também é uma string, ou seja; ele pode ser usado para armazenar e recuperar dados de tipo de string do arquivo de propriedades.
- A classe de propriedades pode especificar outra lista de propriedades, pois é o padrão. Se uma propriedade de chave específica não estiver presente na lista de Propriedades original, as propriedades padrão serão pesquisadas.
- O objeto de propriedades não requer sincronização externa e vários threads podem compartilhar um único objeto de propriedades.
- Além disso, pode ser usado para recuperar as propriedades do sistema.
Vantagem de um arquivo de propriedades
Caso algum dado seja alterado no registro de propriedades, você não precisa recompilar a classe java. É utilizado para armazenar dados que devem ser alterados habitualmente.
Observação: a classe Properties não herda o conceito de fator de carga de sua superclasse, Hashtable .
Declaração
public class Properties extends Hashtable<Object,Object>
Construtores de Propriedades
1. Propriedades(): Cria um objeto Propriedades que não possui valores padrão.
Propriedades p = novas Propriedades();
2. Propriedades (Propriedades propDefault): O segundo cria um objeto que usa propDefault como seu valor padrão.
Propriedades p = novas Propriedades (Propriedades propDefault);
Exemplo 1: O programa abaixo mostra como usar a classe Propriedades para obter informações do arquivo de propriedades.
Vamos criar um arquivo de propriedades e nomeá-lo como db.properties .
db.properties
username = coder password = geeksforgeeks
Código
// Java program to demonstrate Properties class to get
// information from the properties file
import java.util.*;
import java.io.*;
public class GFG {
public static void main(String[] args) throws Exception
{
// create a reader object on the properties file
FileReader reader = new FileReader("db.properties");
// create properties object
Properties p = new Properties();
// Add a wrapper around reader object
p.load(reader);
// access properties data
System.out.println(p.getProperty("username"));
System.out.println(p.getProperty("password"));
}
}
Saída
Exemplo 2: O programa abaixo mostra como usar a classe Propriedades para obter todas as propriedades do sistema. Usando o método System.getProperties(), podemos obter todas as propriedades do sistema.
// Java program to demonstrate Properties class to get all
// the system properties
import java.util.*;
import java.io.*;
public class GFG {
public static void main(String[] args) throws Exception
{
// get all the system properties
Properties p = System.getProperties();
// stores set of properties information
Set set = p.entrySet();
// iterate over the set
Iterator itr = set.iterator();
while (itr.hasNext()) {
// print each property
Map.Entry entry = (Map.Entry)itr.next();
System.out.println(entry.getKey() + " = "
+ entry.getValue());
}
}
}
Saída
Exemplo 3: O programa abaixo mostra como usar a classe Propriedades para criar um arquivo de propriedades.
// Java program to demonstrate Properties class to create
// the properties file
import java.util.*;
import java.io.*;
public class GFG {
public static void main(String[] args) throws Exception
{
// create an instance of Properties
Properties p = new Properties();
// add properties to it
p.setProperty("name", "Ganesh Chowdhary Sadanala");
p.setProperty("email",
"ganeshs.gfg@gmail.com");
// store the properties to a file
p.store(new FileWriter("info.properties"),
"GeeksforGeeks Properties Example");
}
}
Saída
Métodos de Propriedades
MÉTODO | DESCRIÇÃO |
---|---|
getProperty (chave String) | Pesquisa a propriedade com a chave especificada nesta lista de propriedades. |
getProperty (String key, String defaultValue) | Pesquisa a propriedade com a chave especificada nesta lista de propriedades. |
lista (saída PrintStream) | Imprime esta lista de propriedades no fluxo de saída especificado. |
lista (saída do PrintWriter) | Imprime esta lista de propriedades no fluxo de saída especificado. |
carregar (InputStream inStream) | Lê uma lista de propriedades (pares de chave e elemento) do fluxo de bytes de entrada. |
carregar (leitor leitor) | Lê uma lista de propriedades (pares de chave e elemento) do fluxo de caracteres de entrada em um formato simples orientado por linha. |
loadFromXML (InputStream em) | Carrega todas as propriedades representadas pelo documento XML no fluxo de entrada especificado nesta tabela de propriedades. |
propertyNames() | Retorna uma enumeração de todas as chaves nesta lista de propriedades, incluindo chaves distintas na lista de propriedades padrão se uma chave com o mesmo nome ainda não tiver sido encontrada na lista de propriedades principais. |
salvar (saída de OutputStream, comentários de string) | Obsoleto . Este método não lança uma IOException se ocorrer um erro de E / S ao salvar a lista de propriedades. |
setProperty (chave da string, valor da string) | Chama o método Hashtable put. |
armazenar (saída de OutputStream, comentários de string) | Grava essa lista de propriedades (pares de chave e elemento) nesta tabela de Propriedades para o fluxo de saída em um formato adequado para carregar em uma tabela de Propriedades usando o método load (InputStream). |
store (escritor do escritor, comentários da string) | Grava essa lista de propriedades (pares de chave e elemento) nesta tabela de Propriedades no fluxo de caracteres de saída em um formato adequado para usar o método load (Reader). |
storeToXML (OutputStream os, String comentário) | Emite um documento XML que representa todas as propriedades contidas nesta tabela. |
storeToXML (OutputStream os, comentário de string, codificação de string) | Emite um documento XML que representa todas as propriedades contidas nesta tabela, usando a codificação especificada. |
storeToXML (OutputStream os, String comentário, Charset charset) | Emite um documento XML que representa todas as propriedades contidas nesta tabela, usando a codificação especificada. |
stringPropertyNames() | Retorna um conjunto não modificável de chaves desta lista de propriedades em que a chave e seu valor correspondente são strings, incluindo chaves distintas na lista de propriedades padrão se uma chave com o mesmo nome ainda não tiver sido encontrada na lista de propriedades principais. |
Métodos declarados na classe java.util.Hashtable
MÉTODO | DESCRIÇÃO |
---|---|
Claro() | Limpa esta tabela de hash para que não contenha chaves. |
clone() | Cria uma cópia superficial desta tabela de hash. |
compute (tecla K, BiFunção <? super K,? super V,? extends V> remapeamentoFunção) | Tenta calcular um mapeamento para a chave especificada e seu valor mapeado atual (ou nulo se não houver mapeamento atual). |
computeIfAbsent (tecla K, Função <? super K,? extends V> mappingFunction) | Se a chave especificada ainda não estiver associada a um valor (ou estiver mapeada para nulo), tenta calcular seu valor usando a função de mapeamento fornecida e o insere neste mapa, a menos que seja nulo. |
computeIfPresent (K key, BiFunction <? super K,? super V,? extends V> remappingFunction) | Se o valor da chave especificada estiver presente e não for nulo, tenta calcular um novo mapeamento, dada a chave e seu valor mapeado atual. |
contém (valor do objeto) | Testa se alguma chave é mapeada para o valor especificado nesta tabela de hash. |
containsKey (chave do objeto) | Testa se o objeto especificado é uma chave nesta tabela de hash. |
containsValue (valor do objeto) | Retorna verdadeiro se esta tabela de hash mapeia uma ou mais chaves para este valor. |
elementos() | Retorna uma enumeração dos valores nesta tabela de hash. |
entrySet() | Retorna uma visualização Set dos mapeamentos contidos neste mapa. |
é igual a (objeto o) | Compara o objeto especificado com este mapa para igualdade, de acordo com a definição na interface do mapa. |
get (chave do objeto) | Retorna o valor para o qual a chave especificada é mapeada ou nulo se este mapa não contém mapeamento para a chave. |
hashCode() | Retorna o valor do código hash para este mapa de acordo com a definição na interface do mapa. |
está vazia() | Testa se esta tabela de hash não mapeia chaves para valores. |
chaves() | Retorna uma enumeração das chaves nesta tabela de hash. |
conjunto de chaves() | Retorna uma visualização Set das chaves contidas neste mapa. |
mesclar (tecla K, valor V, BiFunção <? super V,? super V,? estende V> função remapeamento) | Se a chave especificada ainda não estiver associada a um valor ou estiver associada a nulo, associa-a ao valor não nulo fornecido. |
colocar (chave K, valor V) | Mapeia a chave especificada para o valor especificado nesta tabela de hash. |
putAll (Map <? estende K,? estende V> t) | Copia todos os mapeamentos do mapa especificado para esta tabela de hash. |
rehash() | Aumenta a capacidade e reorganiza internamente esta hashtable, para acomodar e acessar suas entradas de forma mais eficiente. |
remover (chave do objeto) | Remove a chave (e seu valor correspondente) desta tabela de hash. |
Tamanho() | Retorna o número de chaves nesta tabela de hash. |
para sequenciar() | Retorna uma representação de string deste objeto Hashtable na forma de um conjunto de entradas, entre colchetes e separados pelos caracteres ASCII ”,” (vírgula e espaço). |
valores() | Retorna uma visualização de Coleção dos valores contidos neste mapa. |
Métodos declarados na interface java.util.Map
MÉTODO | DESCRIÇÃO |
---|---|
forEach (ação BiConsumer <? super K,? super V>) | Executa a ação fornecida para cada entrada neste mapa até que todas as entradas tenham sido processadas ou a ação lance uma exceção. |
getOrDefault (chave do objeto, V defaultValue) | Retorna o valor para o qual a chave especificada é mapeada ou defaultValue se este mapa não contiver mapeamento para a chave. |
putIfAbsent (chave K, valor V) | Se a chave especificada ainda não estiver associada a um valor (ou estiver mapeada para nulo), a associa ao valor fornecido e retorna nulo, caso contrário, retorna o valor atual. |
remove (chave do objeto, valor do objeto) | Remove a entrada para a chave especificada apenas se ela estiver atualmente mapeada para o valor especificado. |
substituir (chave K, valor V) | Substitui a entrada da chave especificada apenas se ela estiver mapeada para algum valor. |
substituir (chave K, V antigoValor, V novoValor) | Substitui a entrada da chave especificada apenas se atualmente mapeada para o valor especificado. |
substituirAll (BiFunction <? super K,? super V,? extends V> função) | Substitui o valor de cada entrada com o resultado de invocar a função fornecida nessa entrada até que todas as entradas tenham sido processadas ou a função lance uma exceção. |
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva