Мне нужно прочитать беззнаковое целое из файла быстрого времени и записать его обратно в другой файл быстрого времени.
В настоящее время я читаю беззнаковое целое в Long, но во время его записи мне так и не удалось записать точное число обратно в 4 байта как беззнаковое целое.Long имеет правильное значение, которое мне нужно написать обратно.(например, 3289763894 или 370500) Я не могу даже прочитать запись с числом меньше Integer.MAX_VALUE (например, 2997).
Я использую следующие методы для записи значения обратно
public void writeUInt32(long uint32,DataOutputStream stream) throws IOException {
writeUInt16((int) (uint32 & 0xffff0000) >> 16,stream);
writeUInt16((int) uint32 & 0x0000ffff,stream);
}
public void writeUInt16(int uint16,DataOutputStream stream) throws IOException {
writeUInt8(uint16 >> 8, stream);
writeUInt8(uint16, stream);
}
public void writeUInt8(int uint8,DataOutputStream stream) throws IOException {
stream.write(uint8 & 0xFF);
}
Любая помощь будет оценена.