Como o próprio assunto diz, eu gostaria de saber se é possivel editar um arquivo interno dentro do jar que esta se executando. Ele se auto-editaria.
Preciso editar alguns *.properties de dentro. É possivel? Como? Obrigado a todos. :thumbup:
Se vc tiver um bocado d tempo livre e adorar o core do java, talvez dê p/ vc copiar o jar, dezipar, alterar o arquivo, zipar d novo e sobreescrever o jar existente com esse novo… tudo em tempo de execução utilizando o próprio pacote (isso é qse um canibalismo). Qdo eu tive essa idéia, não cheguei a testar p/ ver se daria certo (tipo, se o SO deixaria eu sobreescrever um arquivo em uso)…
Todas as outras tentativas q eu fiz com reflexão falharam…
E como eu naõ queria trabalhar com zip e descompactação, decidi criar 2 arquivos de configuração: um com todas as configs padrões do sistema (dentro do jar) e outro com as personalizadas (fora do jar)…
Jose111
Acredito que sobreescrever o .jar não tenha problema nenhum, pelo menos comigo nunca aconteceu já que depois de executado o Windows carrega o programa para memória e para de acessar o arquivo em disco. Em outro SO não sei.
(Me corrijam se estiver equivocado).
Marky.Vasconcelos
Voce pode acessar o File e reescrever mesmo dentro do jar.
É algo assim.
StringfileName=getClass().getClassLoader().getResource("arq.properties").getFile();Filef=newFile(fileName);//Altera aqui o arquivo f