2013-02-20 1 views
0

Я хочу синхронизировать папку, такую ​​как Dropbox. Если в моей папке изменен файл или папка, я хочу получить событие, которое запускает мой класс синхронизации. Как я могу получить такое событие без сканирования этой папки Intervall?Получение обмена файловой системой Java (как Dropbox)

ответ

0

Некоторые начинают для вас:

получить список всех файлов: yourdir.listFiles()

теперь для каждого файла в списке файлов: file.getLastModified()

, если оно равно текущему времени или отличаться от lastSynctime (вам необходимо сохранить его в своем классе синхронизации), а затем синхронизировать его.

+0

Да, это моя реальная версия, но там мне нужно просматривать тысячи файлов, неужели это занимает много времени? – bbholzbb

+0

его нет! потому что не все будут модифицированы в одно и то же время :) – Arpit

1

У вас есть как минимум два варианта. Вы можете либо изобретать велосипед, как предлагал Арпит, либо использовать WatchService API.

Учебник WatchService here.

+0

WoW! это не мои вопросы. но я думаю, что я должен это изучить. спасибо за ссылку. + 1 – Arpit

Смежные вопросы