Sequência de Números num Ficheiro!

4 respostas
rasinc

Descrição do Problema:

Pretendo realizar uma função pessoal que vai dando o código em número dum aluno por exemplo, e esses números têm de ir incrementando numa sequência, em que mesmo fechando a aplicação, a próxima vez que executarmos continue com o próximo número. Mas concretamente a medida que salvamos um registo ele guarda 1, outro registro (2), por aew em diante, e se fecharmos a aplicação ele continue pelo próximo registro a gravar. O código em que estou trabalhando a princípio é esse pessoal. Grato…

import java.io.*;
import java.util.ArrayList;

public class Estudos{
  public static void main(String[] args){
    // uma instância de RandomAccessFile para leitura e escrita
    // se o arquivo não existir ele será criado
    ArrayList <Integer> codigos = new ArrayList <Integer>();
    
    try{
      RandomAccessFile arquivo = 
        new RandomAccessFile("valores2.dat", "rw");
      
      for (int i=1; i <= codigos.size(); i++) 
      // vamos escrever inteiros no arquivo
      arquivo.writeInt(i);
      
      arquivo.close();    
    }
    catch(FileNotFoundException fnfe){
      System.out.println(fnfe.getMessage());
    }
    catch(IOException ioe){
      System.out.println(ioe.getMessage());
    }

    // leitura dos escritos gravados anteriormente
    try{
      RandomAccessFile arquivo = 
        new RandomAccessFile("valores2.dat", "r");

      int tam = (int)(arquivo.length() / 4); // grupo de 4 bytes
      for(int i = 0; i < tam; i++){
        System.out.println(arquivo.readInt());
      }     
 
      arquivo.close();    
    }
    catch(FileNotFoundException fnfe){
      System.out.println(fnfe.getMessage());
    }
    catch(IOException ioe){
      System.out.println(ioe.getMessage());
    }    


  }
}

O que está dando errado, ou ideias de resolver o problema. vlw…

4 Respostas

R

nessa parte

for (int i=1; i <= codigos.size(); i++)

vc ta pegando o tamanho do arraylist q acabou de criar… ? Exception aqui…

jks1903

Cara, até onde sei quando você finaliza a aplicação, tudo o que ela instanciou é descartado (variáveis, objetos e etc).

Você não poderia usar banco de dados para isso?

Outra idéia então seria criar um valor no registro do Windows (se for Windows o ambiente é claro).

rasinc

Tem que ser em ficheiros mesmo, estou estudando sobre ele… Se algum de vcs tiver um jeito o ideia melhor… flw

rasinc

Resolvido!!! flw

Criado 8 de julho de 2011
Ultima resposta 9 de jul. de 2011
Respostas 4
Participantes 3