Config retorna NULL

8 respostas Resolvido
CloudyYard

Olá pessoa!,
eu estou tentando criar uma funcao para pegar de um arquivo um dado.
por exemplo:
ARQUIVO CONFIG.TXT

Game configurations

fullscreen=false
texture=default

END

entao o fullscreen tem o dado falso entao ele coloca o valor falso na variavel boolean.

a funcao que eu estou usando é essa:

`private void loadProperties() throws IOException {

Properties defaultProps = new Properties();
String s = defaultProps.getProperty("texturepack");
	System.out.println(s);
	
	configProps = new Properties(defaultProps);
	
	// loads properties from file
	InputStream inputStream = new FileInputStream(configFile);
	configProps.load(inputStream);
	inputStream.close();
}`

só que essa funcao retorna o valor NULL o tempo todo!,
alguem pode me ajuda?

8 Respostas

Rodrigo_Sasaki

Você acabou de instanciar seu objeto defaultProps, qualquer chamada a getProperty irá retornar null, porque esse objeto não tem nenhuma propriedade.

CloudyYard

entao oque devo fazer?

Rodrigo_Sasaki

Por que você está instanciando esse defaultProps? Se você só quer carregar as variáveis do seu arquivo, pode simplesmente carregar direto como faz quando chama configProps.load

CloudyYard

eu nao entendi bem… eu sou iniciante em Java…
comecei faz pouco tempo.

Rodrigo_Sasaki

Então vamos fazer o inverso :slight_smile: Por que você não me fala o que você quer fazer?

CloudyYard

estou fazendo um jogo
parecido com minecraft só que em 2d,
e eu quero fazer um arquivo de configuracoes
que tenham dados como:
texture_pack=meupack fullscreen=false mods=false
aí por exemplo eu quero que o TexturePack seja declarado pela arquivo de propriedades.
entao eu crio uma variavel:
public static String texturepack;
e uso o conf.properties por exemplo:
texturepack = p.getProperty("texture_pack");
entao oque tiver no arquivo conf.properties na chave texturepack vai para o valor da variavel String texturepack.

Rodrigo_Sasaki
Solucao aceita

Ta, você tem que ter o seu código mais ou menos assim:

public static void main(String[] args) throws IOException {
    String filePath = "caminho_para_seu_arquivo_properties";

    InputStream inputStream = new FileInputStream(new File(filePath));
    Properties properties = new Properties();
    properties.load(inputStream);

    System.out.println(properties.get("texture_pack"));
}
CloudyYard

Sim!!, agora funcionou.
Muito obrigado Rodrigo_Sasaki!,
agora esta funcionando perfeitamente!.
exatamente como eu queria!!
valeu.

Criado 8 de janeiro de 2016
Ultima resposta 8 de jan. de 2016
Respostas 8
Participantes 2