Trabalhando com arquivo PROPERTIES

8 respostas
lcsmgn

oi pessoal, eu to gravando as configuracoes de conexao do banco de dados num arquivo .properties na raiz da pasta do projeto. Quando executo pelo ECLIPSE rada uma beleza, mas quando em JAR nao carrega as informacoes. Eu estrou trabalnahdo de maneira errada com esse recurso?

//LE ARQUIVO
	public void Ler(String arq){
		
		File file = new File(arq); 
		Nome = arq;
		
		try {
			fis = new FileInputStream(file);
			prop.load(fis);
			fis.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}catch(IOException e){
			e.printStackTrace();
		}

		
	}

//FUNCAO Q RETORNA A PROPRIEDADE DESEJADA
	public String getProp(String chave, String def){
		
		String txt = "";
		txt = prop.getProperty(chave, def);
		
		return txt;
		
	}

//CODIGO QUE PEGA O VALOR
		dbServidor = Sistema.file.getProp("db.servidor", "");
		dbNome = Sistema.file.getProp("db.nome", "");
		dbUsuario =Sistema.file.getProp("db.usuario", "");
		dbSenha= Sistema.file.getProp("db.senha", "");

8 Respostas

lcsmgn

Olhem a mensagem de erro:

file:\c:\rota\app.jar!\config.properts (A sintaxe de nome do arquiv, pasta ou nome do volume está incorreta)

T

Você não pode usar “File” e “FileInputStream” para ler um arquivo .properties dentro de um .jar.

Você pode carregar o seu “properties” do Jar lembrando-se que você pode usar o método de java.lang.Class ou java.lang.ClassLoader “getResourceAsStream”.

J

Para pegar o arquivo dentro do JAR use getResource() ou getResourceAsStream() da classe Class.

T

http://www.guj.com.br/posts/list/15945.java#83106

otaviofcs

não seria config.properties?

tente passar como nome do arquivo

./config.properties

abraços

lcsmgn

não seria config.properties?

tente passar como nome do arquivo

./config.properties

abraços

Desculpe-me foi erro na digitacao

lcsmgn

:( Contiunua nao funcionado quando em JAR. olha como está agora:

public static InputStream getInputStream(String arq){
		
		InputStream is = Thread.currentThread().getContextClassLoader()
							.getResourceAsStream(arq);
		
		return is;
		
	}

Quando executado pelo eclipse carrega beleza. Informacao importante:

O arquivo de configuracao esta na raiz do projeto/jar.
A classe principal esta dentro de uma subpasta SISTEMA.java juntamente com a classe que carrega o arquivo ClsArquivo.java

lcsmgn

:oops: Ops… Nao funcionou pq o arquivo nao foi junto pro JAR, soh isso…vlw

Criado 27 de abril de 2007
Ultima resposta 2 de mai. de 2007
Respostas 8
Participantes 4