Dúvida pra incluir arquivo.properties num projeto NetBeans

3 respostas
P

bom dia pessoal.

Estou fazendo uma aplicação desktop usando o Netbeans 6.8. E pra configurações de banco (driver, url, user, password) estou usando um arquivo .properties. Minha dúvida é na hora de executar esse aplicativo fora do Netbens. Eu sei que quando compilo ele cria a pasta dist, contendo o .jar da aplicação e uma pasta lib com as bibliotecas, até aí blz…mas se eu vou executar na hora que ele vai ler o .properties pra pegar os dados pra acessar o BD não consegue achar o arquivo. Alguém sabe como devo fazer pra executar o aplicativo por fora usando o .properties ??

grato pela ajuda.

[]s

3 Respostas

S

Bom eu mantenho o .properties junto com meu jar gerado pelo netbeans e utilizo uma função de leitura que eu chamo de lechave

public String LeChave(String chave) {
     String wValorChave;
     FileInputStream fis = null;
//meu arquivo é esse abaixo o "Config.properties" 
// da forma que está eu não estou especificando o caminho dele logo 
// entende-se que ele está junto ao .jar (executavel).
// se vc quiser coloca-lo em outro caminho deve usar por exemplo:
// File arquivo = new File ("c:/teste/Config.properties");   //ou
// File arquivo = new File ("c:\\teste\\Config.properties");   

     File arquivo = new File ("Config.properties");
     Properties props = new Properties();
     try {
	fis = new FileInputStream(arquivo);
	props.load(fis);
	fis.close();
     }
     catch (IOException e) {
        System.out.println(e.getMessage());
	e.printStackTrace();
     }
     wValorChave = props.getProperty(chave);
     return wValorChave;
  }

Tentei ser o mais claro possivel qualquer duvida posta ai.

P

steniobh…

vlw pela ajuda. Eu tbm uso um método muito parecido com este teu hehe. Você copia o .properties pra pasta dist(junto com o .jar) depois q vc da um build no projeto?

Eu fiz assim, depois q gerei o build, copiei o .properties pra junto do .jar executável e mesmo assim não conseguiu achar o arquivo. Devo estar fazendo alguma coisa de errado q não percebi. Vou tentar novamente qdo chegar em casa.

[]s :wink:

L

Ola pessoal
gostei do Post.

Tenho uma aplicacao desktop java, e só utilizo a classe conexao para instanciar a conexao com o banco de dados.
Preciso desenvolver uma aplicação que sera acessada por dois computadores, acredito que terei de usar a opção .properties,
como posso faze isto??? tenho abaixo meu codigo

package BD;
import java.sql.*;
import javax.swing.*;


public class conexao
{
    
    final private String driver = "org.firebirdsql.jdbc.FBDriver"; // driver p coneccao
    final private String DATABASE = "C:\\photonclin\\BD\\BD.FDB"; // caminho feito pela ferramentas adm do painel de controle
    final private String IP = "localhost";
    final private String STR_CON = "jdbc:firebirdsql://" + IP + ":3050/" + DATABASE;
    final private String USER = "SYSDBA"; //login do BD
    final private String PASSWORD   = "masterkey";//senha do BD
    private Connection conexao; // responsavel por efetuar a conexao com o BD o nome "conexao"
    public Statement statement; // Abrir caminho ate o local do BD
    public ResultSet resultset; // Armazenar os comandos SQL.
    
    
    public boolean conecta()
{
        boolean result = true;
        try
{
            Class.forName(driver);
           conexao = DriverManager.getConnection(STR_CON, "SYSDBA", "masterkey");
            //JOptionPane.showMessageDialog(null,"Conectou");
        }
        
        catch(ClassNotFoundException Driver)
{
            JOptionPane.showMessageDialog(null,"Driver n�o Localizado"+ Driver);
            result = false;
        }
catch(SQLException Fonte)
{
    JOptionPane.showMessageDialog(null,"Deu erro na conexao "+"com a fonte de dados: "+ Fonte);
    result = false;
}
        return result;
        
        
    }
Criado 25 de fevereiro de 2010
Ultima resposta 3 de abr. de 2011
Respostas 3
Participantes 3