Я пытаюсь найти способ отслеживать файлы, даже когда они перемещаются или переименовываются в файловой системе.
Одна из моих идей заключалась в том, чтобы использовать новый UserDefinedFileAttributeView в Java 7 и создатьнастраиваемый атрибут файла как своего рода идентификатор.Я думал, что это может работать на разных платформах (прежде всего, Windows и Mac).Но я не могу заставить его работать.Даже пробуя пример на этой странице - http://docs.oracle.com/javase/tutorial/essential/io/fileAttr.html - Когда я попадаю в эту строку:
Представление UserDefinedFileAttributeView = Files.getFileAttributeView (file, UserDefinedFileAttributeView.class);
Я толькополучить нулевое значение для переменной представления, а затем программа останавливается с исключением nullpointer.
Затем я обнаружил, что, по крайней мере, существует более простой способ сделать это для Mac: использовать атрибут fileFey BasicFileAttributes.Я попробовал это, и fileKey, кажется, остался прежним, даже если я переместил файл или переименовал его.Тем не менее, он также говорит, что эта функциональность зависит от платформы, и я помню, как где-то читал, что она не работает в Windows ...
Итак, прежде всего, является ли метод fileKey стабильным способом сделать это наMac?И если так, что я могу сделать для той же функциональности для Windows?Кто-нибудь знает, почему я получаю значение NULL в UserDefinedFileAttributeView?Потому что, если бы я мог заставить это работать, я думаю, это должно быть кроссплатформенным.
Это не то, что должно быть сверхнадежным и масштабируемым, это просто небольшое вспомогательное приложение, которое я разрабатываю, но онодолжен быть как минимум надежным в идентификации файлов при перемещении или переименовании ...