0
我有一個大的二進制文件,我試圖使用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