Caminho do arquivo

Tenho um arquivo .properties, e preciso saber qual é o direitório que se encontra pois o arquivo não fica no mensmo pacote…


	                private static final String ARQUIVO_IDIOMA_PORTUGUES = "idioma_pt_BR.properties" ;
	                private static final String ARQUIVO_IDIOMA_INGLES = "idioma_en_US.properties";	

	                File arquivoIdiomaPortugues = new File(ARQUIVO_IDIOMA_PORTUGUES);
		File arquivoIdiomaIngles = new File(ARQUIVO_IDIOMA_INGLES);
		
		try{
			//le o arquivo .properties em portugues e gera uma lista de palavras chave e valor do tipo String
			FileInputStream lerArquivoIdiomaPortugues = new FileInputStream(arquivoIdiomaPortugues);
			listaPropertiesPortugues.load(lerArquivoIdiomaPortugues);
			lerArquivoIdiomaPortugues.close();

			//le o arquivo .properties em inglês e gera uma lista de palavras chave e valor do tipo String
			FileInputStream lerArquivoIdiomaIngles = new FileInputStream(arquivoIdiomaIngles);
			listaPropertiesIngles.load(lerArquivoIdiomaIngles);
			lerArquivoIdiomaIngles.close();
			
		}
		catch (Exception e) {
			e.printStackTrace();
		}	

Estas estatiscas no construdo do File são os nome dos arquivos.properties

Coloca seu arquivo .properties dentro do pacote das suas classes e na hora de empacotar o jar inclua o .properties, depois abre assim :


       File arquivoIdiomaIngles = new File(this.getClass().getResource("com.nomedoseupacote.algum.arquivo.properties"));

Ai você pode liberar tudo junto e dentro do .jar sem precisar achar os arquivos espalhados nos diretórios.

como eu passo com parametro o caminho do pacote?

o caminho do pacote é uma string.

URL url = getClass().getResource("file.properties"); File path = new File(url.getFile());
Se precisar pode subir níveis por

path = path.getParentFile();

Bem agradeço a colaboração de todos … bem como precisava carregar o arquivo dentro de uma bean a solução que consegui foi esta …


Locale localDoIdioma = new Locale(IDIOMA_LINGUA_BRASIL,IDIOMA_PAIS_BRASIL);
PropertyResourceBundle listaPropertiesPortugues  =  (PropertyResourceBundle) ResourceBundle.getBundle(DIRETORIO_ARQUIVOS_IDIOMAS,localDoIdioma);

para pegar o valor da chave e u faço isso

listaPropertiesPortugues.getString(chave)

Valeu pessoal