O meu problema é o seguinte tenho esse pedaço que guarda um objecto em ficheiro
[code] static Socio user = new Socio ();
static Jogo game = new Jogo();
static File fSocio = new File(“Socios.dat”); // cria um novo ficheiro com o nome de socios e extenção dat
static File fGame = new File(“Games.dat”); // cria um novo ficheiro com o nome de games e extenção dat
//Escreve o ficheiro socios.dat
public static void WriteSocio(ArrayList <Socio> lista) {
ArrayList <Socio> listSocio = new ArrayList <Socio> ();
listSocio = lista;
try{
FileOutputStream fos = new FileOutputStream (fSocio); //Cria o caminho para o ficheiro
ObjectOutputStream oos = new ObjectOutputStream (fos); //Define o tipo de dados que será guardado no ficheiro
try{
for(int i = 0; i<listSocio.size();i++){
user = listSocio.get(i);
oos.writeObject(user); //Escreve o objecto obtido anteriormente no ficheiro
}
}catch (Exception e){
System.out.println ("Erro ao inserir o sócio no ficheiro");
System.out.println (e.getMessage()); //Indica onde o erro ocorre
System.out.println (e.getCause()); //Indica qual a causa do erro
}
oos.close(); //serve para fechar os fluxos entre o programa e o ficheiro
fos.close(); //de forma a garantir a preservação dos dados
}catch (IOException ioe){
System.out.println ("Erro ao escrever o ficheiro Socios.dat");
}
}[/code]
Até aqui tudo bem!!
Agora aqui fica estranho
[code] static Socio user = new Socio ();
static Jogo game = new Jogo();
static File fSocio = new File(“Socios.dat”); // cria um novo ficheiro com o nome de socios e extenção dat
static File fGame = new File(“Games.dat”); // cria um novo ficheiro com o nome de games e extenção dat
//Escreve o ficheiro socios.dat
public static void WriteSocio(ArrayList <Socio> lista) {
ArrayList <Socio> listSocio = new ArrayList <Socio> ();
listSocio = lista;
try{
FileOutputStream fos = new FileOutputStream (fSocio); //Cria o caminho para o ficheiro
ObjectOutputStream oos = new ObjectOutputStream (fos); //Define o tipo de dados que será guardado no ficheiro
try{
for(int i = 0; i<listSocio.size();i++){
user = listSocio.get(i);
oos.writeObject(user); //Escreve o objecto obtido anteriormente no ficheiro
}
}catch (Exception e){
System.out.println ("Erro ao inserir o sócio no ficheiro");
System.out.println (e.getMessage()); //Indica onde o erro ocorre
System.out.println (e.getCause()); //Indica qual a causa do erro
}
oos.close(); //serve para fechar os fluxos entre o programa e o ficheiro
fos.close(); //de forma a garantir a preservação dos dados
}catch (IOException ioe){
System.out.println ("Erro ao escrever o ficheiro Socios.dat");
}
}
//Escreve o ficheiro Games.dat
public static void WriteGame(ArrayList <Jogo> lista){
ArrayList <Jogo> listGame = new ArrayList <Jogo>();
listGame = lista;
try{
FileOutputStream fos = new FileOutputStream (fGame);
ObjectOutputStream oos = new ObjectOutputStream (fos);
try{
for(int i = 0; i<listGame.size();i++){
game = listGame.get(i);
oos.writeObject(game);
}
}catch (Exception e){
System.out.println ("Erro ao inserir o jogo no ficheiro");
System.out.println (e.getMessage());
System.out.println (e.getCause());
}
oos.close();
fos.close();
}catch (IOException ioe){
System.out.println ("Erro ao escrever o ficheiro Games.dat");
}
}[/code]
O Erro e de tar tentando guardar um objecto null, mas antes que me digam que não tem mistério já fiz um println ao objecto game e ele está preenchido dai a minha duvida será que me esta escapando algo???
[]'s