Boas, estou criando um programa para um cadeira da faculdade e estou com pequeno problema na escrita e leitura de ficheiros.
import java.io.*;
import java.util.*;
public class WritingAndReading {
static ArrayList <Socio> listSocio;
static Socio user;
static File fSocio = new File("Socios.dat");
public static void WriteSocio(ArrayList <Socio> lista) {
listSocio = lista;
try{
FileOutputStream fos = new FileOutputStream (fSocio);
ObjectOutputStream oos = new ObjectOutputStream (fos);
try{
for(int i = 0; i<listSocio.size();i++){
user = listSocio.get(i);
oos.writeObject(user);
}
}catch (IOException ioe){
System.out.println ("Erro ao inserir o sócio no ficheiro");
}
oos.close();
fos.close();
}catch (IOException ioe){
System.out.println ("Erro ao escrever o ficheiro Socios.dat");
}
}
public static ArrayList <Socio> ReadSocio(){
try{
FileInputStream fis = new FileInputStream (fSocio);
ObjectInputStream ois = new ObjectInputStream (fis);
try{
while((user = (Socio) ois.readObject())!= null){
listSocio.add(user);
}
}catch (IOException ioe){
System.out.println ("Ficheiro carregado");
}
ois.close();
fis.close();
}catch (IOException ioe){
System.out.println ("Erro na leitura do ficheiro Socios.dat");
}
return listSocio;
}
}
Já agora fica aqui também fica a classe sócio
import java.util.*;
import java.io.*;
public class Socio implements Participacao, Serializable{
private int numSocio;
private int quantidade=0;
private String nome, apelido, morada, contacto, dataRegisto;
Data registo;
public Socio() {
}
public void setNum(int n){ //atribui o numero de socio
numSocio = n;
}
public void setNome(String n){ //atribui o nome do socio
nome = n;
}
public void setApelido(String a){ //atribui o apelido do socio
apelido = a;
}
public void setMorada(String m){ //atribui a morada do socio
morada = m;
}
public void setContacto(String c){ //atribui o contacto do socio
contacto = c;
}
public void setRegisto(int dia, int mes, int ano){ //atribui a data de registo do socio
registo = new Data(dia,mes,ano);
dataRegisto = registo.getData();
}
public void setRegistoSistema (){ //atribui a data do sistema ao registo do socio
registo = new Data();
dataRegisto = registo.getData();
}
public int getNum(){ //devolve o numero de socio
return numSocio;
}
public String getNome(){ //devolve o nome do socio
return nome;
}
public String getApelido(){ //devolve o apelido do socio
return apelido;
}
public String getMorada(){ //devolve a morada do socio
return morada;
}
public String getContacto(){ //devolve o contacto do socio
return contacto;
}
public String getRegisto(){ //devolve a data de registo do socio
return dataRegisto;
}
public void setQuant(){ //quantidade de jogos do socio
quantidade++;
}
public boolean tipoPart(){ //verifica se o socio é participante ou não
boolean valido=false;
if (quantidade>0){
valido=true;
}
return valido;
}
}
Alguém pode me dar uma ajuda com isso?
