Я хотел бы иметь какой-то дескриптор файла для файла, который выживает при перемещении/переименовании файла. Это не должно быть независимым от платформы, это нормально, если он работает только на Java7 + linux и даже отлично, если можно считать, что файлы не меняют каталог.Как найти файл, который был перемещен/переименован в Java
В данном случае я хочу записать источник входных данных журнала, похожий на входной файл logstash-file-input, то есть инструмент, который я могу запустить, чтобы зачеркнуть файл, и даже если этот файл будет повернут (т.е. перемещен/переименован), когда мое приложение для хвоста не работает, я хочу найти этот файл, когда приложение хвоста снова запустится.
Я посмотрел на BasicFileAttributes.fileKey, но я не нашел никакого способа перейти от fileKey к объекту File/Path.
Кто-нибудь знает, можно ли это сделать?
С наилучшими пожеланиями /Thomas
Я не эксперт по Linux, но, возможно, вы могли бы создать жесткую ссылку на файл журнала в файловой системе и хвосте вместо фактического файла? – Philipp
Возможно, вы используете ['WatchService'] (http://docs.oracle.com/javase/8/docs/api/java/nio/file/WatchService.html) для этого – fge
@Philipp. да, это может быть способ, я видел ответ на подобные вопросы. Это кажется немного громоздким, хотя, возможно, наравне с написанием некоторого модуля JNI для этого. –