簡體   English   中英

RandomAccessFile讀取錯誤的整數

[英]RandomAccessFile reading wrong Integers

所以我正在使用RandomAccessFile將數據寫入文件。 由於我正在使用lz4壓縮寫入的數據,因此首先將未壓縮的大小寫為整數,然后將壓縮后的大小寫為整數,最后將其壓縮為字節數組。 但是,當讀取兩個整數時,會出現完全不同的結果。 我寫了一個簡單的測試,結果如下:

    int test = 982364567;

    System.out.println("Writing " + test + " in file...");

    this.clusterData.seek(1);
    this.clusterData.write(test);

    this.clusterData.seek(1);
    System.out.println("Reading " + this.clusterData.readInt() + " from file...");

clusterData是RandomAccessFile,控制台中的輸出是這樣的:

Writing 982364567 in file...
Reading -1761607680 from file...

有人可以向我解釋哪里出了問題,而我在這里想念的是什么?

注意, write(int data)意味着寫入由數據表示的byte 因此它將寫入一個字節。

您需要使用writeInt(int data)來寫入完整整數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM