У меня возникла проблема, из-за которой org.apache.commons.io.FileUtils.copyFile (Файл, Файл) создает немного другие файлы. Когда я сравниваю эти файлы с bsdiff или в редакторе, я могу сказать, что они разные. Определенные байты копируются как вопросительные знаки. Например 0200 (восьмеричное) копируется как? (077 восьмеричный).
Итак, я создаю тестовый пример для включения в отчет об ошибках. Я делаю копию исполняемого файла, а затем сравниваю, используя FileUtils.checksumCRC32 (File). Неожиданно файлы имеют одинаковую контрольную сумму. Затем я сравниваю их, просматривая FileInputStream каждого файла. Это также подтверждает, что файлы одинаковы.
Файлы, безусловно, отличаются. Один бежит, другой нет. bsdiff создает diff из двух файлов. Я могу сказать, что некоторые байты копируются неправильно, проверив файлы своими глазами.
Однако для JVM эти файлы одинаковы. Есть идеи, почему я наблюдаю это поведение?
Информация о системе:
Windows 7, 64 бит; JVM 1.6.0_22, 32 бита