Dúvida com arquivo dentro de JAR

6 respostas
L

Eu tenho um arquivo de configuração dentro do meu jar e em minhas classes eu seto o diretório dele.

Gostaria de saber como eu gravo ele dentro do próprio Jar…

Meu propósito é fazer um .jar que já fique com esse arquivo e na aplicação eu manipule esse arquivo dentro do jar, não quero jogar ele em nenhuma pasta a mais.

6 Respostas

drsmachado

Você pretende alterar esse arquivo?

E

Para todos os efeitos, considere que um .jar é um arquivo read-only (isso é realmente verdade no Windows, onde o arquivo fica “preso” durante a execução).

Eu recomendaria você guardar configurações do usuário usando a API de Preferences:

http://docs.oracle.com/javase/7/docs/technotes/guides/preferences/

E

Na prática:
a) Carregue os valores “default” de um arquivo .properties dentro do seu jar
b) À medida que seu programa for sendo usado, grave as configurações novas como preferences. O que prevalece é sempre a “preference”

L

Sim, pretendo alterar e salvar

E

Vamos recapitular.

Um arquivo .jar que contém as classes de um programa fica “preso” durante a sua execução, no caso do Windows (no caso do Linux não há esse problema).

Portanto eu considero que é impossível salvar o arquivo de volta, a menos que você tenha um esquema muito complicado de ter um programa que dispare seu programa Java e atualize o arquivo .jar (o próprio programa não pode atualizar seu próprio arquivo .jar).

L

entanglement:
Vamos recapitular.

Um arquivo .jar que contém as classes de um programa fica “preso” durante a sua execução, no caso do Windows (no caso do Linux não há esse problema).

Portanto eu considero que é impossível salvar o arquivo de volta, a menos que você tenha um esquema muito complicado de ter um programa que dispare seu programa Java e atualize o arquivo .jar (o próprio programa não pode atualizar seu próprio arquivo .jar).

Entendi… :confused:

Então eu vou continuar como eu estava… eu crio uma pasta no C:\Meudiretório e jogo um arquivo la e manipulo ele… mas obrigado!

Criado 5 de julho de 2013
Ultima resposta 5 de jul. de 2013
Respostas 6
Participantes 3