У меня есть большой двоичный файл, и я пытаюсь читать из файла с помощью ObjectStream.I получить ошибкуошибок приема java.io.StreamCorruptedException При чтении большого двоичного файла
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)
Моего код для чтения из Файл указан:
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]);
}
Я пропустил что-то здесь.
Открывает ли файл hexa 'CAFEBABE'? У меня такое ощущение, что файл, который вы пытаетесь прочитать, не является сериализованным объектом, а чем-то другим (может быть, другим двоичным форматом). Можете ли вы поделиться, откуда у вас этот файл, или как файл был создан? – Augusto
@Augusto Нет, файл начинается с 00000000. Это в порядке исключения. – EJP