Como faço para mudar alterar o conteudo do arquivo

1 resposta
S
Tipo tenho um cadastro de filmes que é salvo em arquivo so que quero alterar os conteudo de determinado filme,como faço para que seja modificado o conteudo daquele objeto no arquivo. Tipo eu estava querendo depois de cadastrar gravando no arquivo e quando queria alterar eu recuperava o arquivo e depois apagar o arquivo e gravar de novo o objeto modificado.So que o excuir arquivo nao esta escluindo.Segue o codigo.. para gravar arquivo
public void gravarArqFilme()
    {
        try
           {
              
              this.arqFilme.inserirNaLinha(String.valueOf(this.numFilme));
              for(int i=0;i<this.aux;i++)
              {  
                this.arqFilme.inserirNoFinal(filme[i].getNome());
                this.arqFilme.inserirNoFinal(filme[i].getCategoria());
                this.arqFilme.inserirNoFinal(filme[i].getSituacao());
                this.arqFilme.inserirNoFinal(filme[i].getTempo());
              }
         }
         catch(Exception e)
         {
             e.printStackTrace();    
         }
               
    }
para recuperar arquivo
public void recuperarArqFilme()
    {
        
         try
         {
           
            if(this.arqFilme.recuperarPrimeiraLinhaArquivo()!=null)
            {
                int tamanho = new Integer(this.arqFilme.recuperarPrimeiraLinhaArquivo()).intValue();//recupera a quantidade de objetos gravados
                this.filme = new Filme[tamanho];//cria o vetor de filmes do tamanho de objetos no arquivo
                this.numFilme=tamanho;
                //atribui os valores do arquivo ao vetor de filmes
                for (int i = 0; i < this.numFilme; i++)
                {
                     String nome   = this.arqFilme.recuperarProximaLinha();
                     String genero       = this.arqFilme.recuperarProximaLinha();
                     String situacao = this.arqFilme.recuperarProximaLinha();
                     String tempo = this.arqFilme.recuperarProximaLinha();
                     filme[i]     = new Filme(nome, genero,situacao,tempo);
                 }       
             }   
             
        }
        catch(Exception e)
        {
            e.printStackTrace();    
        }
     
    }
para apagar arquivo
public void excluirArquivo()
   {
      try
       {
         // cria o arquivo
         this.getFile().close();
         this.setFile(null);
         File f = new File(this.getNomeArquivo());
         f.delete();
       }
      catch (Exception ee)
        {
          System.out.println("Erro na remocao do arquivo"+this.getNomeArquivo());  
          ee.printStackTrace();   
        }
   }

1 Resposta

D

voce pode utilizar a classe java.io.RandomAccessFile

Criado 28 de maio de 2004
Ultima resposta 28 de mai. de 2004
Respostas 1
Participantes 2