Abrir .properties que está dentro de um .jar

Galera,

Alguem sabe como acessar um arquivo properties empacotado dentro de um .jar?
Colocando o arquivo properties fora eu consigo fazer funcionar, mas como to usando java web start preciso colocá-lo dentro do jar.

Vejam meu código:

try { FileInputStream fis = new FileInputStream(file); Properties props = new Properties(); props.load(fis); fis.close(); } catch (IOException e) { e.printStackTrace(); }
Eu preciso fazer um variavel do tipo java.io.File receber algo mais ou menos assim:

getClass().getClassLoader().getResourceAsStream("Servidor.properties");

Fala Bruno, pelo que entendi você esta no caminho certo.
Este é um exemplo que uso em um dos meus programas.

java.io.InputStream in = getClass().getResourceAsStream("/com/microsiga/iReport/jasperreport.dtd");
return new org.xml.sax.InputSource( in );

Deve tentar algo parecido para resolver seu problema.

Fala ai Bruno, pelo que entendi você está no caminho certo.
Veja este exemplo:
java.io.InputStream in = getClass().getResourceAsStream("/com/microsiga/iReport/jasperreport.dtd");
return new org.xml.sax.InputSource( in );

Fala ai Bruno, pelo que entendi você está no caminho certo.
Veja este exemplo:
java.io.InputStream in = getClass().getResourceAsStream("/com/microsiga/iReport/jasperreport.dtd");
return new org.xml.sax.InputSource( in );

Fala ale-asilva,

Tentei das 2 formas, mas também não dá, pois o construtor de FileInputStream não aceita InputStream:

java.io.InputStream in = getClass().getClassLoader().getResourceAsStream("Servidor.properties");
FileInputStream fsis = new FileInputStream((File) in);

e

java.io.InputStream in = getClass().getClassLoader().getResourceAsStream("Servidor.properties");
FileInputStream fsis = new FileInputStream (in);

Foi mal, msg duplicada

Fala ale-asilva,

Tentei das 2 formas, mas também não dá, pois o construtor de FileInputStream não aceita InputStream:

java.io.InputStream in = getClass().getClassLoader().getResourceAsStream("Servidor.properties");
FileInputStream fsis = new FileInputStream((File) in);

e

java.io.InputStream in = getClass().getClassLoader().getResourceAsStream("Servidor.properties");
FileInputStream fsis = new FileInputStream (in);

Fala ale-asilva,

Tentei das 2 formas, mas também não dá, pois o construtor de FileInputStream não aceita InputStream:

java.io.InputStream in = getClass().getClassLoader().getResourceAsStream("Servidor.properties");
FileInputStream fsis = new FileInputStream((File) in);

e

java.io.InputStream in = getClass().getClassLoader().getResourceAsStream("Servidor.properties");
FileInputStream fsis = new FileInputStream (in);

Depois de muito procurar e tentar consegui colocar o properties dentro do JAR
ai vai como fiz:

Dentro de um pacote coloquei uma classe “Arquivo.java”
Depois dentro desse mesmo pacote coloquei o arquivo “prop.properties”

entao para obter um valor, em um metodo coloquei:

InputStream is = Arquivos.class.getResourceAsStream( “prop.properties” );
Properties properties = new Properties();
properties.load(is);
System.out.println(properties.getProperty(“chave1”));
is.close();

:smiley:
Espero que ajude
[]s