Eliminar dados no ficheiro usando acesso sequencial

2 respostas
Vanilson

Galera, é o seguinte eu quero eliminar dados no ficheiro mas para isso primeiro eu pesquiso no ficheiro a parte da pesquisa ja está resolvida, eu estou com problemas no eliminar alguem tem alguma ideia.

2 Respostas

erico_kl

poste o código para analisarmos e se possível explique mais claramente…

Vanilson

Bem cara é o seguinte eu desejo elminar dados no ficheiro e para isso pensei no seguinte:
Pesquisar o registo que eu quero eliminar e de seguida colocar * ou espaco em branco no lugar dele no ficheiro, o q eu fiz é o seguinte:

if(evento.getSource()==elimclientes)
		{
			try
			{
				String opcpesquisa;
				int opcpesquisaconv;
				int codigoconv;
				String nome;	
				String linha = null;
				fw = new FileWriter(ficheirodeposito,true);
				fr = new FileReader(ficheirodeposito);
				br = new BufferedReader(fr);
				opcpesquisa = JOptionPane.showInputDialog("Deseja eliminar por nome ou por numero da conta ? \n             (1 - Por nome, 2 - Por numero da conta)");
				opcpesquisaconv = Integer.parseInt(opcpesquisa);
				switch(opcpesquisaconv)
				{
					case 1:
						nome = JOptionPane.showInputDialog("Digite o nome do(a) cliente");
						while((linha = br.readLine())!=null)
						{
							String vectlim[][];
							String dados[] = linha.split(",");
							int i=0;
							if(linha.matches(".*" + nome + ".*"))
							{
								for(int i=0; i<=5; i++)
								{
									dados[i] = "*";
									fw.write(dados[i]);
								}
							}	
						}
						break;
					default:
						JOptionPane.showMessageDialog(null,"Opção invalida","BPC",JOptionPane.ERROR_MESSAGE);
								
				}
				br.close();
				fw.close();	
			}
			catch (IOException e) 
			{
				JOptionPane.showMessageDialog(null,"Erro ao abrir o ficheiro","BPC",JOptionPane.ERROR_MESSAGE);
			}
		}

O que acontence é que ele nao coloca * no lugar do registo que quero eliminar, mais sim escreve asteristico no ficheiro

Criado 29 de novembro de 2009
Ultima resposta 30 de nov. de 2009
Respostas 2
Participantes 2