[Ajuda] Ler arquivo .properties em .jar

2 respostas
Fabiano_Fernandes

Mais uma vez, venho aqui pedir a ajuda de vocês.
Estou concluindo um projeto para um controle de estoque, o mesmo possui um sistema de login, implementei um metodo para ler o arquivo .properties, onde se encontram todos as informações do banco, nome, ip, senha. Funciona beleza no netbeans, porém no .jar não funciona :(, dei uma vasculhada na net e "aparentemente" para conseguir fazer a leitura do arquivo preciso utilizar o getResourceAsStream, mas infelizmente não consegui implementar o mesmo no meu código. Segue o código a baixo

package bdconexao;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

public final class AcessoMySql {
    
    Connection con;
   
    
    public static void main (String args[]) throws IOException {
            
            
    }
    
    
    public AcessoMySql() {
        conectar();
    }
   
    public static Properties getProp() throws IOException {
        
        Properties conf = new Properties();
        FileInputStream file = new FileInputStream("./src/properties/config.properties");
        conf.load(file);
        return conf;
    }
    
    static String ip, banco, usuario, senha;

    private void lerConfigBanco() throws IOException {
        Properties prop = getProp();
        ip = prop.getProperty("prop.ip");// ip do banco 
        banco = prop.getProperty("prop.banco");//nome do banco
        usuario = prop.getProperty("prop.usuario"); //usuario do banco
        senha = prop.getProperty("prop.pass");//senha do banco

    }

    public Connection conectar(){
        
        try {
            lerConfigBanco();
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://"+ip+"/"+banco+"?user="+usuario+"&password="+senha+"");

        } catch (ClassNotFoundException ex) {
            System.out.println("Não foi possivel encontrar o Driver!");
        } catch (SQLException ex) {
            System.out.println("Não foi possivel conectar ao banco!");
            JOptionPane.showMessageDialog(null,"Impossivel se conectar ao Banco de Dados");
        } catch (IOException ex) {
            Logger.getLogger(AcessoMySql.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        return con;
    }
    
    public void desconectar(){
        try {
            con.close();
        } catch (SQLException ex) {
        }
    }
}

Não posso dizer que não achei assuntos relacionado a isso na internet. Mas não consegui implementar.
Agradeço a quem poder me ajudar ;D

2 Respostas

S

Estou com o mesmo problema. Help?

Fabiano_Fernandes

Fiz alguns testes com getResourceAsStream, mas sem sucesso. Creio que é simples, mas estou fazendo alguma coisa errado

Criado 9 de agosto de 2016
Ultima resposta 10 de ago. de 2016
Respostas 2
Participantes 2