/* * 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()