Я ищу эффективный способ определить, есть ли два java.io.File
s относятся к тому же физическому файлу. Согласно документации, File.equals ()
должен выполнять эту работу:
Проверяет этот абстрактный путь для равенство с данным объектом. Возвращает true тогда и только тогда, когда аргумент не равен нулю и является абстрактный путь, который обозначает тот же файл или каталог, что и этот абстрактный путь.
Однако, учитывая раздел FAT32 (на самом деле контейнер TrueCrypt), который смонтирован в / media / truecrypt1:
new File("/media/truecrypt1/File").equals(new File("/media/truecrypt1/file")) == false
Вы бы сказали, что это соответствует спецификации? И как в этом случае обойти эту проблему?
Обновление: Благодаря комментаторам для Java 7 я нашел java.io.Files.isSameFile ()
, который мне подходит .