Leitura e Escrita em TXT

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