Olá este é meu 1º post aqui no GUJ
gostaria de uma ajuda se possivel.
Caused by: java.io.InvalidClassException: filme
segue a baixo o meu método para abrir arquivo.. onde acho que pode estar o erro, visto que todo o resto funciona...
public static listaProduto abrirProduto(){
try {
boolean exists =(new File("Produtos.arq")).exists();
Object var=new listaProduto();
if (exists==true) {
FileInputStream fis = new FileInputStream("Produtos.arq");
ObjectInputStream ois = new ObjectInputStream(fis);
if (var==null){}
else{
var=(listaProduto)ois.readObject();
ois.close();}
return (listaProduto)var;}
else
{
FileOutputStream fos = new FileOutputStream("Produtos.arq");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(var);
oos.close();
return (listaProduto)var;
}
} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(null,"ERRO NULL");
return null;
} catch (IOException e) {
JOptionPane.showMessageDialog(null,"ERRO IO");
e.printStackTrace();
//AQUI ELE CAI NO ERRO java.io.InvalidClassException: filme; filme; no valid constructor
//testei o construtor do filme e aparentemente ele está correto..
return null;
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null,"ERRO CLASS");
return null;
}
}
import java.io.Serializable;
public class filme extends produto implements Serializable{
private String diretor;
private String atorPrincipal;
private String atrizPrincipal;
private int duracao;
public filme(int cod,String titulo,int ano,double valor,String classificacao,String ator,String atriz,int duracao,String diretor,String tipo)
{
super(cod,titulo,ano,valor,classificacao);
setAtorPrincipal(ator);
setAtrizPrincipal(atriz);
setDiretor(diretor);
setDuracao(duracao);
setTipo(tipo);
}
public class produto
{
//variaveis
public String titulo,tipo;
private int ano;
private double valor;
private int codigo;
private String classificacao;
private boolean estado=true;
//sets
public produto(int cod,String titulo,int ano,double valor,String classificacao)
{
setCodigo(cod);
setTitulo(titulo);
setAno(ano);
setValor(valor);
setClassificacao(classificacao);
}
obrigado pela ajúda se possivel