/*
  * O método abre o arquivo para gravação, posiciona o ponteiro na ultima posição válida e grava o objeto.
  * Em seguida o arquivo é fechado.
  */
 public void gravarMetaMensal(int codigo, Calendar data, double valor, int porcentagem) {
   try {
     arquivoMetaMensal.openFile(CaminhoArquivo.META_MENSAL.getCaminho());
     arquivoMetaMensal.setFilePointer(arquivoMetaMensal.recordQuantity());
     arquivoMetaMensal.writeObject(new MetaMensal(codigo, data, valor, porcentagem));
     arquivoMetaMensal.closeFile();
   } catch (FileNotFoundException e) {
     e.printStackTrace();
   } catch (IOException e) {
     e.printStackTrace();
   }
 } // gravarMetaMensal()
 /*
  * O método abre o arquivo, pesquisa todos os objetos salvos, comparando ao parâmetro recebido. Caso não localize
  * retorna 1, caso encontre, retorna a posição.
  */
 public int pesquisaMetaMensal(int codigo) {
   try {
     arquivoMetaMensal.openFile(CaminhoArquivo.META_MENSAL.getCaminho());
     for (int indice = 0; indice < arquivoMetaMensal.recordQuantity(); indice++) {
       arquivoMetaMensal.setFilePointer(indice);
       if (arquivoMetaMensal.readObject().getCodigo() == codigo) {
         arquivoMetaMensal.closeFile();
         return indice;
       }
     }
     arquivoMetaMensal.closeFile();
   } catch (FileNotFoundException e) {
     e.printStackTrace();
   } catch (IOException e) {
     e.printStackTrace();
   }
   return -1;
 } // pesquisaMetaMensal()
 /*
  * O método recebe o indice para uma posição no arquivo e verifica se esta posição é válida, caso seja retorna o objeto
  * requisitado.
  */
 public MetaMensal obtemMetaMensal(int indice) {
   MetaMensal metaMensal = null;
   try {
     arquivoMetaMensal.openFile(CaminhoArquivo.META_MENSAL.getCaminho());
     if (indice < 0 || indice > arquivoMetaMensal.recordQuantity()) {
       arquivoMetaMensal.closeFile();
       return null;
     }
     arquivoMetaMensal.setFilePointer(indice);
     metaMensal = arquivoMetaMensal.readObject();
     arquivoMetaMensal.closeFile();
   } catch (FileNotFoundException e) {
     e.printStackTrace();
   } catch (IOException e) {
     e.printStackTrace();
   }
   return metaMensal;
 } // obtemMetaMensal()