Singleton

CV a unica maneira de ler um arquivo uma unica vez é usando singleton. ou existe outra solução?

valeu

Properties é um java.util.Hashtable. Muito provavelmente ResourceBundle utilize Hashtable também.

Mas no seu caso, faz mais sentido utilizar Properties.

[quote=“j2ee”]CV a unica maneira de ler um arquivo uma unica vez é usando singleton. ou existe outra solução?

valeu[/quote]

voce pode fazer ifs(), pode verificar se o objeto eh nulo, pode… ha milhares de maneiras. O lance do singleton no caso seria para carregar uma unica fez e deixar em memoria, o que caracteriza uma necessidade como "… eu nao preciso dar load() nesse arquivo toda vez… ".

Rafael

Caro Rafael,

vc poderia postar um exemplo de codigo para eu substituir o singleton?

muito grato pelas respostas, varias respostas em poucos minutos! :lol:

No seu caso, voce nao precisa de um Singleton, voce precisa de uma variavel estatica… :wink:

public final class Arquivo {
	private static Arquivo query=new Arquivo();
	//private Properties prop;
	private ResourceBundle rb;
	private static final String SQL ="config.sql";
	
	public Query(){
		
	    rb=ResourceBundle.getBundle(SQL);
	    
	    //this.prop=new Properties();
	         //this.prop.load(this.getClass().getClassLoader().getResourceAsStream(nomeArquivo));
	
	}
 }     
    

e no quando quiser usar Arquivo a=new Arquivo();

é isso?

valeu

:?: :?: :?: :?

desse jeito ele ler varias vezes…! testei aqui!

helpppppppp!

Cara,

[code]public final class MyProperties {
private static final String SQL ="config.sql";
private static Properties properties = new Properties(MyProperties.class.getClassLoader().getResourceAsStream(SQL));

public static Properties getProperties() {
return properties;
}
}[/code]

Era soh isso :wink: