Jump to content
brunocod

Editar linha de ficheiro.txt

Recommended Posts

brunocod

Olá pessoal, este é o meu primeiro post no fórum.

Estou a fazer o projecto de introdução à programação onde tenho que fazer um programa para registar disciplinas, turnos e alunos e associá-los. Neste momento estou na parte de alterar dados da Disciplina. Fiz um "escreverFicheiro()" e introduzo o código da disciplina e o nome (em linhas separadas). O meu problema é quando chamo o menu para alterar os dados. Queria fazer uma espécie de replace de texto. O que eu queria era pesquisar o texto e substituir esse texto encontrado no ficheiro por o texto inserido de seguida.

Já vi em alguns posts que preciso de substituir o ficheiro inteiro e criar um temporário mas não consigo edita-lo para o meu código. Estou à uns 4 dias de volta disto e ainda não consegui.

Share this post


Link to post
Share on other sites
Knitter

Onde é que tens dificuldades?

A forma mais simples é mesmo escrever novamente todo o ficheiro, re-escrevendo todos os dados com o ficheiro aberto para escrita apenas. É exactamente a mesma situação que se estiveres a escrever o ficheiro pela primeira vez.

Procurar a localização exacta, em ficheiros de texto, já depende bastante da forma como o ficheiro está escrito, se tens ou não marcadores especiais, ou informação extra (como número de registos/linhas) que possa ser usada para auxiliar a pesquisa da linha a alterar.

Se tens o código feito para gravar os dados pela primeira vez, então tens o código para re-escrever o ficheiro com os novos dados, é o mesmo código.

Share this post


Link to post
Share on other sites
brunocod

Eu tenho isto:

case 2: System.out.println("---- Inserir Nova Disciplina ----\n");
System.out.println("Introduzar o código da disciplina a alterar:\n");

pesquisarFicheiroDisciplina(lerTeclado());
break;

public static void escreverFicheiro(String texto) {
       try {
               BufferedWriter bw = new BufferedWriter(new FileWriter(ficheiro.getAbsoluteFile(),true));
               bw.write(texto);
               //bw.newLine();
               bw.close();
       } catch(IOException e) {
               System.out.println("Erro na aplicacao!");
               e.printStackTrace();
       }
} 

Supostamente quero substituir o código da disciplina e o nome. Mas não sei mesmo como fazer isso.

Edited by Baderous
geshi

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.