Gravar em properties dentro do JAR - AJUDA

Pessoal, não estou conseguindo gravar dados em um arquivo .properties, que se encontra dentro do .JAR … gostaria que alguém me desse umas dicas
obrigado. :frowning:

Eu geralmente crio um arquivo xxxx.properties
Manipulo dentro da aplicação utilizando a classe java.util.ResourceBundle.
E na hora de empacotar deixo o meu xxxx.properties na raiz do jar.

É essa a sua dúvida?

Não necessariamente.

Eu tenho meu JAR:
/src/
/src/prop.properties

e eu preciso manipular este arquivo prop, já quando ela estiver empacotada… ou seja, adicionar e buscar os dados… buscar eu já sei, agora alterar/adicionar não está dando! :(:(:frowning:

Para facilitar sua vida, considere que qualquer coisa empacotada dentro de um JAR é “read-only”. Para você mudar essas coisas, use um banco de dados de verdade, ou então um arquivo em um lugar conhecido do sistema (não “relativo” à sua aplicação, ou pior, dentro do Jar).

banco de dados ñ dá, pq eh exatamente isso que o properties trata…

eh um propertie q grava o ip do servidor do DB para uma aplicacao desktop…

Crie então um Hashmap e deixe na memória (se precisar, carregue os dados do seu properties na hash e vai adicionando, alterando, excluindo, etc). Resolve assim?

Se você está usando uma aplicação desktop, você pode tentar usar a classe java.util.prefs.Preferences (que cria umas entradas no Registry - HKEY_CURRENT_USER - , se for Windows, e em um arquivo .XML no diretório do usuário, se for Linux ou Solaris )

resolvi criando um .properties msmo em /root/ … no problem né?

Depois de muito procurar e tentar consegui colocar o properties dentro do JAR
ai vai como fiz:

Dentro de um pacote coloquei uma classe “Arquivo.java”
Depois dentro desse mesmo pacote coloquei o arquivo “prop.properties”

entao para obter um valor, em um metodo coloquei:

InputStream is = Arquivos.class.getResourceAsStream( “prop.properties” );
Properties properties = new Properties();
properties.load(is);
System.out.println(properties.getProperty(“chave1”));
is.close();

:smiley:
Espero que ajude
[]s