Utilizando Singleton para um arquivo .properties [RESOLVIDO]
3 respostas
Arizoide
Boa tarde galera…
Estou com uma dúvida e queria saber se vocês podem me ajudar.
Eu preciso criar uma classe com o padrão Singleton que defina a instância de um arquivo .properties meu para eu não ter que ficar criando instâncias toda que vez que fora utilizar o mesmo.
Alguém poderia me ajudar?
O código que repito é o seguinte:
File file = new File(
"C:\\Users\\athomazini\\Desktop\\spring-workspace\\HelloWorldVelocity\\mensagens.properties");
Properties props = new Properties();
FileInputStream fis = null;
fis = new FileInputStream(file);
props.load(fis);
packagebr.com.dsf.projeto;importjava.io.IOException;importjava.io.InputStream;importjava.util.Properties;publicclassSingleton{privatestaticSingletoninstance;privateStringusuario;privateStringnome;privateSingleton(){Propertiespropriedades=newProperties();InputStreamstream;Stringarquivo="nome_arquivo.properties";ClassLoaderclassLoader=ClassLoader.getSystemClassLoader();stream=classLoader.getResourceAsStream(arquivo);if(stream==null){stream=br.com.dsf.projeto.Singleton.class.getClassLoader().getResourceAsStream(arquivo);}if(stream==null){System.out.println("Erro ao carregar arquivo de configurações "+arquivo+" verifique se o arquivo esta numa package que esteja como Source Folder. ");}try{propriedades.load(stream);usuario=propriedades.getProperty("usuario");nome=propriedades.getProperty("nome");}catch(IOExceptione){usuario=null;nome=null;}}publicstaticSingletongetInstance(){if(instance==null)instance=newSingleton();returninstance;}publicStringgetUsuario(){returnusuario;}publicvoidsetUsuario(Stringusuario){this.usuario=usuario;}publicStringgetNome(){returnnome;}publicvoidsetNome(Stringnome){this.nome=nome;}}