Gente, mais uma dúvida…
Estou gerando um arquivo txt com cinfigurações de um servidor…
Pensei em fazer esse TXT assim :
*Exemplo entre “//”
//
ServerIP 10.10.10.10
LocalPost 10256
Port 80
gameType BF2
//
Porém, tenho algumas dúvidas…
Como fazer os gets e sets nesse TXT, por exemplo, se eu ja tiver o arquivo pronto e quiser mudar o IP… Como farei isso?
Eu tenho isso aqui já :
//ConfigFile Info :
//IP
//LocalPost
//Port
//gameType
public void setConfigFileIP(String ip) {
ip = "ServerIP" + " " + ip;
try {
FileWriter fw = new FileWriter(config);
FileReader fr = new FileReader(config);
} catch (Exception e) {
System.out.println("" + e.getMessage());
}
}
Agora nao sei o que fazer…Tenho dificuldade com leitura/escrita de arquivos rsrs
Uma dica, se vai fazer um arquivo de configurações, não use txt, use properties.
Não conhece? Da uma olhada nesse tutorial: Manipulando Arquivos de Propriedades
[quote=romarcio]Uma dica, se vai fazer um arquivo de configurações, não use txt, use properties.
Não conhece? Da uma olhada nesse tutorial: Manipulando Arquivos de Propriedades[/quote]
Rapaz Valeu!!! Desculpa a demora pra responder, estava brigando com umas lógicas do programa e estava organizando as threads.
Enfim,
Estou com uma outra dúvida, pode me ajudar?
Como altero o .properties?Eu fiz de um jeito mas nao sei se esta certo…
package QueryServer;
import Functions.FileManager;
import java.util.Properties;
/**
*
* @author André
*/
public class QueryServerConfiguration {
private int localPort, port;
private String gameType, ip;
public FileManager fm;
public Properties properties;
public QueryServerConfiguration() {
properties = new Properties();
}
public void setDefaultQueryServerConfiguration() {
ip = "8.9.30.43";
gameType = "BFV";
localPort = 15567;
port = 23000;
properties.setProperty("IP", ip);
properties.setProperty("GameType", gameType);
properties.setProperty("LocalPort", localPort + "");
properties.setProperty("Port", port + "");
}
public void setIP(String ipToQuery) {
if (ipToQuery != null) {
properties.setProperty("IP", ipToQuery); // Esta Certo isto ?
}
}
}
Para alterar o valor, basta ler o arquivo e usar o método setProperty() informando a chave e o novo valor para a tal chave. E depois salve o arquivo novamente.
Não vi direito o seu código, mas vi que você só mexe em um objeto da Properties mas não a carrega de um arquivo (com o método load) nem a salva de volta (com o método store).
A alteração no objeto em memória é realmente desse jeito.
Entretanto, não se esqueça de gravar o arquivo depois de fazer todas as modificações desejadas (com o método store).
Para mais detalhes,
http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html