Quando tento ler o arquivo que escrevi, dá o seguinte erro: invalid type code: AC
Ele apenas lê o primeiro objeto escrito no .txt e dá o erro em seguida.
Alguém pode me ajudar?
public class RepositorioDadosArquivo{
final String DIRETORIO_AGENTES = "C:\\Users\\Marcela\\Documents\\NetBeansProjects\\Biblioteca-Arquivo\\agentes\\";
final String DIRETORIO_PUBLICACOES = "C:\\Users\\Marcela\\Documents\\NetBeansProjects\\Biblioteca-Arquivo\\publicacao\\";
final String DIRETORIO_ASSUNTO = "C:\\Users\\Marcela\\Documents\\NetBeansProjects\\Biblioteca-Arquivo\\assunto\\";
private ObjectInputStream objectInput;
private ObjectOutputStream objectOutput;
private void abrirArquivoAgenteEscrita()
{
try{
objectOutput = new ObjectOutputStream(new FileOutputStream(DIRETORIO_AGENTES + "agente.txt", true));
}
catch (IOException ex) {
System.out.println("Error opening file!");
}
catch(SecurityException ex){
System.out.println("Error opening or creating file!");
}
}
private void abrirArquivoAgenteLeitura()
{
try{
objectInput = new ObjectInputStream(new FileInputStream(DIRETORIO_AGENTES + "agente.txt"));
}
catch (IOException ex) {
System.out.println("Error opening file!");
}
catch(SecurityException ex){
System.out.println("Error opening or reading file!");
}
}
private void fecharArquivoEscrita()
{
try
{
if (objectOutput != null)
objectOutput.close();
}
catch (IOException ex) {
System.out.println("Error closing file!");
}
}
private void fecharArquivoLeitura()
{
try
{
if (objectInput != null)
objectInput.close();
}
catch (IOException ex) {
System.out.println("Error closing file!");
}
}
public void addAutor(Autor autor)
{
try {
abrirArquivoAgenteEscrita();
objectOutput.writeObject(autor);
fecharArquivoEscrita();
}
catch(EOFException ex)
{
System.out.println("EOFException\nFim do arquivo alcançado\n" + ex.getMessage());
return;
}
catch(IOException ex)
{
System.out.println("IOException\nError during write from file\n" + ex.getMessage());
}
catch(Exception ex)
{
System.out.println("Exception\n" + ex.getMessage());
}
}
public void findAutor()
{
try
{
abrirArquivoAgenteLeitura();
Autor autor;
while (true)
{
autor = (Autor) objectInput.readObject();
System.out.printf("Codigo: %d - Nome: %s %s\n",autor.getCodigo(),
autor.getNome(), autor.getSobrenome());
}
}
catch(EOFException ex)
{
System.out.println("EOFException\nFim do arquivo alcançado\n" + ex.getMessage());
return;
}
catch(ClassNotFoundException ex)
{
System.out.println("ClassNotFoundException\nUnable to create object\n" + ex.getMessage());
}
catch(IOException ex)
{
System.out.println("IOException\nError during read from file\n" + ex.getMessage());
}
catch(Exception ex)
{
System.out.println("Exception\n" + ex.getMessage());
}
finally
{
fecharArquivoLeitura();
}
}
}