Итак, я использую 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...
Может ли кто-нибудь объяснить мне, что происходит не так и что мне там не хватает?