Ich habe eine große Binärdatei und ich versuche, aus der Datei zu lesen ObjectStream.I erhalten unter Verwendung des Fehlererhalten Fehler java.io.StreamCorruptedException Während große Binärdatei lesen
java.io.StreamCorruptedException: invalid stream header: 00000000
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:806)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)
at demo.FileRead.readFile(FileRead.java:16)
Mein Code aus dem Lesen Datei ist:
public static void readFile() throws FileNotFoundException, IOException, ClassNotFoundException {
FileInputStream inFile = new FileInputStream(new File("/home/xyz/Documents/packets_in_store_stats"));
ObjectInputStream ois = new ObjectInputStream(inFile);//Receive error at this point
DataAvailable[] ia = (DataAvailable[]) (ois.readObject());
System.out.println(ia[0] + "," + ia[1] + "," + ia[2] + "," + ia[3]
+ "," + ia[4]);
}
Ich vermisse etwas hier.
Startet die Datei das Hexa 'CAFEBABE'? Ich habe das Gefühl, dass die Datei, die Sie zu lesen versuchen, kein serialisiertes Objekt ist, sondern etwas anderes (vielleicht ein anderes Binärformat). Können Sie mitteilen, woher Sie diese Datei erhalten haben oder wie die Datei erstellt wurde? – Augusto
@Augusto Nein, die Datei beginnt mit 00000000. Es ist in der Ausnahme. – EJP