0

I initially created a file containing serialized data, and wanted to iterate through it and add the objects to a text file. However, I keep getting a StreamCorrupted error when I try doing so. Any suggestions on how to fix this? Thanks in advance. The Method:

public static ImperialDrone retrieveDrone(String filename) {
        
        try {
            System.out.println(filename);
            boolean cont = true;
            ArrayList<ImperialDrone> list = new ArrayList<>();
            ObjectInputStream Sin = new ObjectInputStream(new FileInputStream("C:\\Users\\13023\\eclipse-workspace\\Chunduru_HW6\\src\\chunduru\\STORAGE\\DStore"));
            while(cont){
                ImperialDrone I = null;
              try {
                  I = (ImperialDrone) Sin.readObject();
              } catch (EOFException E) {
                  E.printStackTrace();
              }
                if(I != null) {
                     list.add(I);
                     System.out.println("Added 1");
                }
                  
                else {
                    cont = false;
                }
                   
             }
            
            Sin.close();
            return list.get(0);
            
        } 
        catch (Exception e) {
            e.printStackTrace();
            System.out.println(e);
        }
        return null;
        
    }

The Error:

java.io.StreamCorruptedException: invalid type code: AC
    at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1764)
    at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:509)
    at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:467)
    at Chunduru_HW6/chunduru.INTERFACES.DroneOperations.retrieveDrone(DroneOperations.java:49)
    at Chunduru_HW6/chunduru.MAIN.Chunduru.main(Chunduru.java:26)
java.io.StreamCorruptedException: invalid type code: AC
  • You can check this answer https://stackoverflow.com/questions/2393179/streamcorruptedexception-invalid-type-code-ac – Albina Dec 19 '22 at 18:04
  • Much better to serialize a `List` of drones. *One* call - n drones – g00se Dec 19 '22 at 18:22

0 Answers0