Duvida Manipulação de Arquivos

3 respostas
T

Bom dia galera, beleza ?

Tenho uma duvida sobre a manipulação de arquivos, minha duvia é a seguinte:

Tenho um arquivo txt com o conteudo abaixo:

Nome do usuario: Marcos
Ultima atualização: 25/04/2007

Gostaria de sobrescrever somente o nome do usuario sem ter a necessidade de rescrever o arquivo inteiro novamente, por exemplo:

Nome do usuario: Antonio
Ultima atualização: 25/04/2007

Percebem que só alterei o valor do nome do usuario, as outras palavras ja existiam no arquivo.

Como faço isso ?

Muito obrigado Pessoal, Muito obrigado mesmo !!!

Marcos Antonio

3 Respostas

T

Boa tarde Marcos Antonio !!!

Tu precisa que este arquivo seja realmente um .txt ou poderia ser um XML por exemplo ?? outra questão, tu tens N combinações “Nome Usuário” e “Última Atualização” ou é apenas uma ?? se for somente uma, tu poderias utilizar um .property, caso seja N tu podes utilizar um XML, se realmente necessitar de um txt terás que fazer na mão mesmo !
Qualquer dúvida mande aí !!

T

Boa tarde tche1401, muito obrigado pela resposta, olha poderia ser XML tambem, sem problema algum, encontrei alguns tutoriais no Google, mas todos eles ensinam a sobrescrever o arquivo inteiro, ou inserir sempre os valores no final dos valores ja existentes neste arquivo.

Poderia me dar uma luz ?

Muito Obrigado :grin:

S

Tonel, vai um exemplo para vc ae:

// Abre o arquivo
        try {
            FileInputStream in = new FileInputStream("dados.properties");  
            defaultProps.load(in);  
            in.close(); 
        } catch (FileNotFoundException ex) {
            JOptionPane.showMessageDialog(frame,"Arquivo de não encontrado");
        } catch (IOException ex) {
            ex.printStackTrace();
        }   

        // Resgata os valores do arquivo
        String Usuario      = defaultProps.getProperty("dados.usuario");
        String Atualizacao = defaultProps.getProperty("dados.atualizacao");

        // Altera os dados
        defaultProps.setProperty("dados.usuario", "Antonio"); 
        defaultProps.setProperty("dados.atualizacao", "25/04/2007"); 

        // Grava dados alterados
        FileOutputStream out = new FileOutputStream("dados.properties");
        defaultProps.store(out);
        out.close();

Se eu não me engano se ele não encontrar o .properties ele cria ele
Mas vai estar mais ou menos assim dependendo como vc for querer

dados.usuario=Antonio
dados.atualizacao=25/04/2007

Agora se quiser trabalhar manipulando direto um TXT acho que vai ter um trabalho a mais, pois eu também não sei como alterar diretamente na posição que vc quiser, a não ser que trabalhe com o todo, deixe na forma que vai querer o texto e depois regrave todo o texto novamente no arquivo.

Criado 25 de abril de 2007
Ultima resposta 26 de abr. de 2007
Respostas 3
Participantes 3