Olá pessoal do guj, estou com um problema com esse tipo de arquivo, minha aplicação desktop tem um arquivo properties onde são armazenados o IP de um banco de dados MySQL junto com a PORTA/LOGIN/SENHA do Mysql para fazer a conexão do banco com o software. Até ai tudo bem, o problema é que quando complilo o projeto e gero o arquivo .jar, o método de escrever no arquivo properties não está funcionando mais!!!
executando o software no netbeans ele roda e escreve normalmente, mas o .jar não!
Oi. Eu fiz uma aplicação desktop a pouco tempo, utilizando .properties e tive esse mesmo problema, a solução que eu encontrei foi de colocar o arquivo .properties na mesma pasta do .jar, ou seja, ele nao esta dentro do arquivo jar.
Creio que deve ter alguma outra solução, essa foi a unica que encontrei, alias, nem procurei outra solução. hehehe.
eu tenho uma classe que você escolhe aonde vc quer buscar o arquivo está ai embaixo
[code]
private FileInputStream fis = null;
// stream para gravar arquivo
private FileOutputStream fos = null;
private File fFile = new File("config.properties");
// properties
private Properties props = new Properties();
// create a new file chooser
private JFileChooser fc = new JFileChooser(new File("."));
private FileFilter filefilter = new FileFilter();
/**
* Carrega Arquivo de Configurações
*
*/
public boolean loadConfig() {
fc.setDialogTitle("Open File Configuration");
// Choose only files, not directories
fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
// Start in current directory
fc.setCurrentDirectory(new File("."));
// Set filter for Java source files.
fc.setFileFilter(filefilter);
// Now open chooser
int result = fc.showOpenDialog(fc);
if (result == JFileChooser.APPROVE_OPTION) {
try {
fFile = fc.getSelectedFile();
fis = new FileInputStream(fFile);
// carrega arquivo de configuracao
props.load(fis);
// fecha stream
fis.close();
return true;
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
JOptionPane.showMessageDialog(null, "file not Found"), "Erro", 1);
e.printStackTrace();
return false;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return false;
}
//classe file filter
public class FileFilter extends javax.swing.filechooser.FileFilter{
/** Filter to work with JFileChooser to select properites configuration file types. **/
public boolean accept(File f) {
return f.getName ().toLowerCase ().endsWith (".properties")
|| f.isDirectory ();
}
public String getDescription() {
// TODO Auto-generated method stub
return "Configuration File (*.properties)";
}
}
ai lá na outra classe pra carregar os arquivos eu invoquei